1.static静态
static不可以修饰类
静态方法不能直接访问非静态变量
抽象方法不可以被 static 修饰符修饰
static修饰符用于修饰变量,可使该变量属于类而不属于类实例
一个static变量表明该变量只有一个副本
private static int i = 3;:变量i的值被所有其所在类的实例共享。变量i只能被其所在类访问。
方法内定义的本地变量不能声明为static变量。
2.final
一个final类不能包含有抽象方法
一个abstract类不能被实例化。
一个局部变量可以被final修饰
public,final,修饰符可用于修饰顶层类
private,protected,final修饰符可用于修饰方法
final修饰符用于声明一个常量
final class A{} 不能被子类继承
protected修饰符可以使其修饰的变量只能对同包类或子类有效
private修饰符可以使变量对于任何其他类都是不可视的,包括子类
private protected关键字修饰变量可使该变量不能被序列化
被private修饰的成员不可以被其他外部类访问
synchronized修饰符可以修饰的对象有类中方法;对象中方法;方法中的代码块
3.接口
封装优点的正确描述:可以不需要改变接口来改变现实,以达到外部使用代码无需变动。
一个类是可实现多个接口,但只能继承一个父类
在接口中定义的成员默认为public、static、final方法。一个接口可以继承多个接口。
native关键字表面修饰的方法是由其他非Java语言编写的
接口中定义的方法默认是public和abstract的,不能被private或protected修饰。
定义在接口的类:该类是一个公共类。该类是一个静态类。该类的方法不能调用接口中定义的方法
4.构造器
一个类的构造器没有返回值类型
编译器提供的默认无参构造器:均与所属的非修饰符一致
当一个类的所有构造器均为私有的;既不能被其他类实例化,也不能被其他类继承
5.方法的重写和重载
方法重载,方法重写体现了多态
重写的方法和被重写的方法必须具有相同的方法名、参数列表和返回值类型
重写的方法的访问范围声明不能比被重写的方法的访问范围大
重写的方法不能抛出被重写方法不能抛出的异常
重写的方法不能被private修饰符修饰
重写方法的访问范围不能比被重写的方法更窄
6.内部类
匿名内部类没有构造器。
匿名内部类可以实现接口。
匿名内部类可以继承非final类
定义在内部类中的变量不能被static修饰符修饰,除非内部类本身是静态的。
定义在类中非方法的内部类,可以访问外部类的所有变量,而不管变量的访问范围声明。
一个内部类实际上是外部类的子类。
内部类可以被private修饰符修饰。
方法中定义的内部类(1)它和所在外部类的任何实例无关联。(2)它可以访问所在方法中声明为final的变量
非静态内部类:它可以访问宿主类中的私有变量
内部类可以被private修饰符修饰 内部类可以被static修饰符修饰 构造一个内部类实例需要一个外部类实例
所有静态变量,所有常量,所有实例对象;可以被内部类访问
所有static变量。所有final变量。所有实例的变量类型的变量可以被一个内部类访问
|
|