day13

1.final关键字
  继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,final的意思为最终,不可变。final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。
 
final修饰的类不可被继承,但是可以继承其他类;
final修饰的方法,不可以被覆盖,但父类中没有被final修饰方法,子类覆盖后可以加final;
final修饰的变量成为常量,这些变量只能赋值一次;
类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性值可以修改。final Person p = new Person();
修饰成员变量,需要在创建对象前赋值,否则报错。
2.static关键字
当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时就会想,那么我们能不能不创建对象,就可以调用方法呢?可以的,我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。
2.1static特点
被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量)
被static修饰的成员可以并且建议通过类名直接访问。访问静态成员的格式:
类名.静态成员变量名
类名.静态成员方法名(参数)

静态内容是优先与对象存在的,只能访问静态,不能使用this/super。静态修饰的内容存于静态区。

同一个类中,静态成员只能访问静态成员。

main方法为静态方法仅仅为程序执行入口,他不属于任何一个对象,可以定义在任意类中。

使用类中的静态成员,不需要创建对象,直接使用类名来访问即可。
 
接口中的每个成员变量都默认使用public static final修饰。
所有接口中的成员变量已是静态常量,由于接口没有构造方法,所以必须显示赋值。可以直接用接口名访问。

3.匿名对象
创建一个普通对象
Person p = new Person();
创建一个匿名对象       new Person();

匿名对象的特点

4.内部类

5.包的声明格式
类中包的声明格式:
          package 包名.包名.包名......;   com.alibaba   org.c3p0
包的声明:
   oackage class Demo{}

要想仅能在本类中访问使用private修饰;
要想本包中的类都可以访问不加修饰符即可;
要想本包中的类与其他包中的子类可以访问使用protected修饰
要想所有包中的所有类都可以访问使用public修饰。
注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。

6.代码块
代码块实在方法内定义的


你可能感兴趣的:(day13)