extends
子类自动拥有父类继承的方法。
类只能支持单继承,不支持多继承,一个类只能有一个直接父类。
多个子类可以继承一个父类。
支持多层继承。
子类自动继承父类定义的方法,子类对父类重写时,重写的方法需要和父类具有相同的方法名,参数列表,返回值。
super作用:当子类重写父类的方法后,子类对象将无法访问父类被重写的方法,提供super对象访问父类的成员,例如成员变量 super.xxx,成员方法 super.方法(),构造方法 super();
final
final修饰的类不能被继承,不能派生子类。
修饰的变量是常量,只能被赋值一次。
修饰的方法不能被子类重写。
当一个类的方法被final修饰,子类不能重写方法。
string和stringbuffer最大区别后者内容和长度可变。
装箱是指将基本数据类型转换为引用数据类型。
拆箱是将引用转换为基本。
抽象和接口:
当一个类使用了抽象方法,必须使用abstract修饰。
抽象类可以不包括任何抽象方法。
抽象类不可以被实例化,因为抽象方法没有方法体,不可以被调用,如果调用抽象类中的方法,创建子类,在子类实现。
接口:
如果一个抽象类中所有的方法都是抽象的,定义类为接口。
一个接口可以有多个父接口;
**使用接口的目的:为了克服单继承的限制;
接口变量默认使用public static final
定义方法默认使用public abstract
定义一个类,使用implements实现接口所有方法,一个类在继承同时实现多个接口。
接口中的属性只能是常量。
类变量和实例变量的区别是什么?
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
this可以用在实例方法和构造方法,不能出现在类方法。