继承
子类继承父类的属性和方法,可以通过对象直接使用。
向上向下转型
向上转型是指new一个子类对象给父类引用,让此对象可以使用 子类和父类公用的方法,如果子类覆写了父类方法,也可调用。特有方法无法被调用。
向下转型是可以调用子类的所有方法和属性,类型转为子类。
总结:向上转型和向下转型都是为了去更好的调用子类的方法。
抽象类
抽象类和普通类的区别在于多一个抽象方法。
1.抽象类的抽象方法必须public,因为子类要去覆写他的所有抽象方法。
2.抽象类自己无法实例化对象。
3.抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
4.子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类
需要理解的代码:
interface IMessage { public void send(String msg);//发送信息 } class MessageImpl implements IMessage { public void send(String msg) { System.out.println("信息内容:" + msg); } } class MessageProxy implements IMessage { private IMessage messageObject; public MessageProxy(IMessage messageObject) { this.messageObject = messageObject; } public void send(String msg) { if (this.connect()) { this.messageObject.send(msg); this.close(); } } public boolean connect() { System.out.println("已连接"); return true; } public void close() { System.out.println("已关闭"); } } class Factory{ public static IMessage getInstance(){ return new MessageProxy(new MessageImpl()); } } public class demo319 { public static void main(String[]args){ IMessage message=Factory.getInstance(); message.send("hxw"); } }