发表于: 2017-09-07 23:20:50

1 928


今天完成的事情: 学习了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 内部类();



返回列表 返回列表
评论

    分享到