abstract:
==》public abstract void make(){}
//抽象方法,没有方法体
有抽象方法的类一定是抽象类
抽象类不能实例化 ==》Pet pet = new Pet() //就是不能创建对象
抽象类的子类可以是普通类,该普通类要实现抽象类的抽象方法
抽象类的子类也可以是抽象类,此时,父类中的抽象方法可以在子类照片那个不被实现
重写(overriding):
子类根据需求对从父类继承的方法进行重新编写
重写时:可以用super点方法的方式保留父类的方法
构造方法不能被重新
规则:
方法名相同
参加列表相同
返回值类型相同或者是其子类
访问权限不能严于父类
//父类的静态不能被子类覆盖为非静态方法,父类的非静态方法不能被子类覆盖为静态方法
//子类可以定义与父类同名的静态方法,以便于子类中隐藏父类的静态方法(注:静态方法中无法使用super)
父类的私有方法不能被子类覆盖
不能抛出比父类方法更多的异常
![]()
![]()
==》public abstract void make(){}
//抽象方法,没有方法体
有抽象方法的类一定是抽象类
抽象类不能实例化 ==》Pet pet = new Pet() //就是不能创建对象
抽象类的子类可以是普通类,该普通类要实现抽象类的抽象方法
抽象类的子类也可以是抽象类,此时,父类中的抽象方法可以在子类照片那个不被实现
重写(overriding):
子类根据需求对从父类继承的方法进行重新编写
重写时:可以用super点方法的方式保留父类的方法
构造方法不能被重新

规则:
方法名相同
参加列表相同
返回值类型相同或者是其子类
访问权限不能严于父类
//父类的静态不能被子类覆盖为非静态方法,父类的非静态方法不能被子类覆盖为静态方法
//子类可以定义与父类同名的静态方法,以便于子类中隐藏父类的静态方法(注:静态方法中无法使用super)
父类的私有方法不能被子类覆盖
不能抛出比父类方法更多的异常

作业:
package com.lianxi1_19; /** * People.java * @author 陈 *2019.1.19 */ public class People { //创建一个人的类 //定义私有属性 private String name; private String idCrad; private String address; //生成get/set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIdCrad() { return idCrad; } public void setIdCrad(String idCrad) { this.idCrad = idCrad; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override //重写object父类的equals的方法 public boolean equals(Object obj) { if(obj instanceof People) { People pobj = (People)obj; if(pobj.getName().equals(this.getName())&&pobj.getIdCrad().equals(this.getIdCrad())&&pobj.getAddress().equals(this.getAddress())) { return true; } } // TODO Auto-generated method stub return false; } }
package com.lianxi1_19; /** * Test * @author 陈 *2019.1.19 */ public class Test { //创建一个测试类 public static void main(String[] args) { People ren1 = new People(); //创建人类的一个对象ren1 //赋值 ren1.setName("张三"); ren1.setIdCrad("123456"); ren1.setAddress("厦门"); People ren2 = new People(); //创建人类的第二个对象ren2 //赋值 ren2.setName("张三"); ren2.setIdCrad("123456"); ren2.setAddress("厦门"); //ren1 和ren2 用 == 对比 System.out.println(ren1 == ren2); //ren1 和ren2 用equals对比 System.out.println(ren1.equals(ren2)); } }