发表于: 2017-09-07 23:20:50
1 929
今天完成的事情: 学习了JAVA基础static关键字的使用;
了解代码块概念,据说是没什么意义的东西,用处不大;
了解内部类的定义与使用。
明天计划的事情:继续学习JAVA基础课程
遇到的问题:无
收获:
static:
static定义的属性不存放在堆内存中,而是存放在全局数据区中,可以被所有的对象访问;
static定义的属性和方法可以被类名称直接调用,并且不需要实例化对象,而非static使用时必须要有实例化对象;
static定义的方法中不能调用非static的属性和方法;
static常用实例1:记录该类产生多少个对象
class Person {
private String name ;
private int age;
private static int count= 1;
public Person(String name,int age){
this.name = name;
this.age = age;
System.out.println("对象个数 = " + count ++);//每实例化一个对象计数一次
}
}
常用实例2:为无参对象自动赋值
class Person {
private String name ;
private int age;
private static int nncount= 1;
public Person(){//为无参对象自动设置属性
this("NONAME-" + nncount ++,0);//this(String name, int age)//当前对象调用有参构造方法
}
public Person(String name,int age){
this.name = name;this.age = age;
}
}
代码块:
直接用 {} 定义的代码
普通代码块:定义于方法中
构造代码块:定义于类中,优先于构造方法执行
静态代码块:由 static {} 定义,优先于任何代码执行,包括主方法
内部类:
在一个类中嵌套另一个类,这样做的好处是内部类可以直接访问外部类中的私有属性
其它类调用内部类时,实例化内部类对象: 外部类.内部类 内部类对象 = new 外部类().new 内部类();
评论