java第三天
来源:互联网 发布:叶玉如 知乎 编辑:程序博客网 时间:2024/06/02 01:28
类
public class Student{
int age;
String name;
Student (int age ,String name){
this.name=name;
this.age=age;
}
Student(){
this(15,”lili”);
}
}
public class A{
public static void main(String[] args){
Student stu=new Student(12,”Tony”);
}
}
- Student stu=new Student(12,”Tony”);
Student 是类名
stu是引用,它实际上类似一个指向对象的指针,保存着stu的内存地址
它保存在所在方法执行的栈空间中。
new Student();在内存的堆空间中创建了一个实例化对象
垃圾回收机制:当堆中的对象不在有任何一个引用时,对象会被回收
构造函数Constructor
Student()是Student类的构造函数,每当实例化一个对象的时候执行,在调用构造函数的时候才会给成员变量赋值。
对于没有提供构造函数的类,默认会自动提供无参数的构造函数,并且给成员变量赋默认值。
对于已经手动提供了构造函数的类则不再提供无参数构造函数。
This(实参):通过构造函数去调用另一个构造方法,必须出现在程序的第一行。主要是为了代码的复用。
public class Student{
private int age;
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
}
上述代码体现了java的封装特性,在setAge()中加入约束条件可以防止不合法的年龄被设置,同时提供开放的getAge().
两个方法均为成员方法,静态方法无法调用成员变量。
This
this是一个引用类型,在堆中每一个对象都有this
this保存的内存地址指向他本身,即当前对象
this能用在构造方法和成员方法中,不能用在静态方法中
static
static用来修饰静态变量和静态方法,还可以定义静态语句块。
- 静态语句块
在类加载阶段会执行,并且只执行一次 - 实例化语句块
在每一次对象创建之前执行,并且是自上而下执行
成员方法
使用“引用.”的方式调用
静态方法
- 使用“类名.”的方式调用
- 静态方法不能访问非静态数据
- 静态方法不能使用this
- 静态方法没有实例对象
- “引用.静态方法”在运行时仍然使用“类名.”的方式访问,仅与引用类型有关,与对象无关。且即使此时引用为NULL也不影响静态方法的调用,不会触发NullPointException.
总结
o
- 静态方法\变量
“类名.”访问,通过“引用.”在底层也是“类名” - 成员方法\变量
“引用.”,必须存在对象 - 构造方法
创造对象,给成员变量赋值 - 静态语句块
类加载执行一次,有序 - 实例语句块
实现对象构造方法前执行一次,有序 - this()
构造方法中调用类内其他构造方法 - super()
构造方法中调用父类构造方法
- Java学习第三天
- Java学习第三天
- 学习Java第三天
- java第三天 API
- Java第三天
- Java学习第三天
- Java基础----第三天
- JAVA-第三天
- java学习第三天
- java第三天
- java学习第三天
- JAVA 学习第三天
- Java基础第三天
- 学习JAVA第三天
- java第三天
- Java学习第三天
- Java第三天 补充
- Java 基础 第三天
- 使用Xamarin.Forms构建UWP应用
- Ry’s Objective-C Tutorial---Methods
- Ry’s Objective-C Tutorial---Protocols
- Gnome Tetravex
- rman备份还原oracle db
- java第三天
- Ry’s Objective-C Tutorial---Categories
- 文章标题
- 探索设计模式之六——单例模式
- Ry’s Objective-C Tutorial---Blocks
- 数据存储
- Ry’s Objective-C Tutorial---Exceptions & Errors
- EasyUI常用控件的禁用方法
- 使用git管理puppet运行环境与配置版本