标签:多个 对象 使用 回收 接口 成员方法 int null 同名
1.static属性是整个类的共享属性,所以按照我们的理解这应该是大范围包括小范围,从大范围中可以调取小范围的数据,但是从小范围中无法显示大范围数据,即不管创建了多少个对象,静态属性在内存中只有一个
2.private static int count中count++和private int a中a++的区别在于count已经有了一个内存地址,而a没有
3.static方法可以使用对象调用,也可以直接用类名调用,多数用类名直接调用(方便)
4.本类的方法之间的调用 任何方法都可以直接调用静态方法 静态方法不能直接调用非静态方法,需要创建对象,用对象名调用非静态方法
5.static块和static的属性以及方法的性质是相同的,用static修饰的代码块表示静态代码块,当Java虚拟机加载类时,就会执行该代码块。
静态块只有在类加载的时候被执行一次,不管创建多少个对象,都不会再执行。
一个类中可以有多个静态块,按照顺序执行。
6.final 用于声明属性,方法和类
属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改。
方法:定义必须有实现代码,并且子类里不可被覆盖。
类:不能被定义为抽象类或是接口,不可被继承。
final属性赋值:1> 在声明时同时赋值,往往与static一起使用 2>声明时不赋值,必须在构造方法中逐一赋值 3> 总的原则:保证创建每一个对象的时候,final属性的值是确定的
7.在类中声明的变量或常量叫属性,或者叫成员变量,如name、salary、count
在方法中声明的变量叫局部变量,或者临时变量。
成员变量属性可以使用四种权限修饰符修饰,局部变量不可以
成员变量属性可以使用static修饰,局部变量不可以
成员变量属性可以使用final修饰,局部变量也可以
成员变量属性的生命周期很长,随着类加载或者创建对象被初始化,直到没有对象引用才回收
成员变量局部变量生命周期很短,执行某个方法时临时被初始化,方法结束即被回收。
成员变量如果局部变量与属性重名,则遵守就近原则,可以使用this区分
成员变量属性可以在整个类中使用,局部变量只在当前方法中使用
成员变量属性都有默认的初始化值,如引用类型都是null,整型是0等,局部变量不被自动初始化,必须手工初始化,如taskname手工指定为null才为null,而属性name默认就为null
8. super关键字代表父类的引用,在程序中主要的用途
在子类构造方法中要调用父类的构造方法,需要注意:super语句只能出现在子类构造方法体的第一行。
当子类方法体中的局部变量或者子类的成员变量与父类成员变量同名时,即子类局部变量覆盖父类成员变量时,用“super.成员变量名”来引用父类成员变量
当子类的成员方法覆盖了父类的成员方法时,也就是子类和父类有完全相同的方法定义(方法体可以不同),此时,用“super.方法名(参数列表)”的方式访问父类的方法。
与this的区别,this通常指代当前对象,super通常指代父类。
!!! 在子类构造方法中要调用父类的构造方法,需要注意:super语句只能出现在子类构造方法体的第一行。
子类中的成员变量或方法与父类中的成员变量或方法同名。因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了父类的成员变量或方法,但是我们如果想要使用父类中的这个成员变量或方法,就需要用到super。
(this通常指代当前对象,super通常指代父类对象)
9.this关键字代表自身,在程序中主要的用途(注意:this关键字必须放在非静态方法里面)
使用this关键字在自身构造方法内部引用其它构造方法
使用this关键字代表自身类的对象
直接使用this 使用this关键字引用成员变量
使用this关键字引用成员方法
!!!在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,常常用来区分同名的成员变量和局部变量。
标签:多个 对象 使用 回收 接口 成员方法 int null 同名
原文地址:http://www.cnblogs.com/wgb190/p/7056125.html