类的高级概念

首先,再次巩固了访问修饰符

public   公共的,公开的。谁都可以看见,可以访问,可以修改,使用频率较高

private  私有的,除了在我自己的类中,谁都不可以来访问。但是我可以选择性的提供get和set方法。也是最常使用的。

protected  这是受保护的。只有和我有关系的,比如在我所在的包中的类,或者是我的子类,就可以访问我。

默认   只有在我所在的包中才能访问

 

封装

封装具有隐蔽性以及可以进行范围的控制,比如方法就是封装的一个体现

 

静态   关键字static

static 修饰之后,都会成为预加载,只要JVM开始加载的时候就会在static修饰的所有内容放在数据段中的 某个区域中

只要加了static之后,属性称为类属性,不会在和对象有关系,可以直接使用类名.属性名就可以访问了,并且所有的类都共享一个。

 

如果方法加了static之后,则该方法不能访问非static的属性和方法了。反之,如果是一个非static 的方法可以调用static‘的属性和方法。 一般不用static修饰方法,常用于修饰工具类的工具方法。并且static不能修饰构造方法。

 

实例初始化块

格式为  {                },在产生对象的时候执行。在父类的构造方法之后,在本类的构造方法之前。一般很少用使用,因为可以捡括号里的语句直接写在构造方法里面。

 

静态初始化块

格式为   static{                 }

只会执行一次,在类加载的时候便自动执行,所以最先被加载。通常将程序运行之前的准备工作放在其中。

 

内部类

 

内部类是在类中再次写一个类,可以无限的循环下去。可以在内部类中写任何在类中可以写的东西

 

可以分为成员内部类和局部内部类。

 

成员内部类:1 有访问修饰符  2  class文件名为外部类类名$内部类类名.class     3   在本类任意的非static方法中都可 以new出来,但是如果在其他类中,必须要用外部类对象.new  的方式产生内部类对象

静态内部类   是成员内部类的一个特列,成员内部类的特点它都有。但是如果在其他类中不需要产生一个对象,可以直接使用外部类类名.的方式来访问

 

局部内部类: 1 没有访问修饰符  2class文件名为 外部类类名$+ 序号 + 内部类类名.class

匿名内部类  是局部内部类的特列。格式为  new  类名{                };   可以用于补充该对象中的属性和方法,因为没有类名,只能用一次,类文件名为:外部类名$序号.class。

 

posted on 2016-02-24 22:52  我是康哥  阅读(255)  评论(0编辑  收藏  举报

导航