继承:extends.
继承的优点:代码的可重用性。子类可以扩展父类的属性和方法。父类的属性和方法可用于子类。
使用“is,a”关系判断继承。
父类:
public class Pet{ private String name; //名字 private int health; //健康值 private int close; //亲密值
子类:
public class Dog extends Pet{ private String breed; // 品种
方法重写:
子类方法对父类方法的重写:
规则:子类的方法的返回值的类型、方法名和形式参数列表必须和父类中的相同。
子类的访问修饰符不小于父类中的访问修饰符。
public void display(){ System.out.println("宠物名字:" + name +"\n健康值:" + health + "\n亲密度:" + close); }
public void display(){ super.display(); System.out.println("品种:" + breed + "叫声:汪"); }
调用父类的构造器:默认子类会调用父类的无参构造器。
public Dog(){ super(); }
使用final修饰符:
使用final修饰符修饰类,说明此类不能被继承;
使用final修饰符修饰方法,说明方法不能被重写。
抽象:
关键字:abstract(不能被实例化)
抽象方法:没有主体,抽象方法必须出现在抽象类当中。
抽象方法必须在子类实现,除非子类也是抽象方法。
多态:
首先编写父类和子类。
子类中重写父类方法。
用父类的数据类型引用子类对象。
instanceof:
判断是不是引用的数据类型.
接口:
关键字:interface.
接口中的方法全是抽象方法,没有构造方法。
关键字:
使用implements实现接口.
接口的优点:
将设计和实现分离,对外隐藏了实现。
面向接口编程是oop的核心.
/** * 设备接口 * * @author Administrator * */ public interface Device { /** * 设置生产商 * @param company */ void setCompany(String company); /** * 获取生产商 * @return */ String getCompany();
时间: 2024-10-12 00:01:00