Java复用类(继承与组合)简要笔记

复用类


1、创建一个类,除非已经明确所继承的类,否则就是隐式地从Java的标准根类Object进行继承。
2、为了继承,一般的规则是将所有的域(数据成员)都指定为 private,将所有方法指定为 public
3、初始化基类:
在构造器中调用基类构造器来执行初始化,而基类构造器具有执行基类初始化所需要的能力。Java会自动在导出类的构造器中插入对基类构造器的调用
4、导出类并不会屏蔽基类所重载的方法
5、组合技术:通常用于想在新类中使用现有类的功能而非它的接口。”has-a”
6、继承:你在使用通用类,并为了某种特殊需要而将其特殊化。”is-a”
7、protected关键字:就类用户来说,这是 private。但对于任何继承此类的导出类或者位于同一包下的类来说,它是可以访问的。
8、向上转型:

class Instrument{
    public void play(){System.out.println("This is play()");}
    static void tune(Instrument i){
        i.play();
    }
}
public class Wind extends Instrument{
    public static void main(String[] args) {
        Wind flute=new Wind();
        Instrument.tune(flute);//Upcasting
    }
}
//在tune()中,程序代码可以对Instrument和它的导出类起作用,这种将Wind引用转换成Instrument引用的动作,称之为向上转型

向上转型是从一个较专用类型向较通用类型转换,所以总是很安全的

9、final关键字:
final static基本类型全用大写字母命名,字之间用下划线隔开,static:强调只有一份,final:是一个常量。有无static区别:将final数值定义为静态和非静态的,当是静态时,在装载时已被初始化,而不是每次创建新对象时都初始化。
final参数:你无法在方法中更改参数引用所指向的对象
final方法:1、将方法锁定,以防止任何继承类修改它的含义。2、效率
final类:不能继承

你可能感兴趣的:(Java)