首页 > 代码库 > JAVA核心技术--继承
JAVA核心技术--继承
1、继承:向上追溯,对同一批类的抽象,延续和扩展父类的一切信息!
1)关键字:extends 例如,父类是Animal,子类是Dog; eg: public class Dog extends Animal
2)父类也称超类,可用super引用
3)子类也称派生类:必须继承父类,可以继承父类的属性和方法
重写:在子类中,方法名、形参、个数、类型、顺序相同! 关键字:@Override
重载:在同一个类中,名称相同的, 形参个数、类型、顺序不同!
注意:继承父类的方法时,因父类不满足要求了,我们需要重写父类的方法。
eg: @Override
public void eat() {
System.out.println("猫吃鱼");
}
4)注意事项:属性不能被重写!
私有方法、静态方法、final方法 不能被重写!
重写前提需要继承!
2、继承的好处:
重用代码、避免重复、重写方法、新曾方法、提高了效率!
3、Object类
是所有类的祖先,任何一个类都直接或者是间接的继承了Object!
如果一个类没有显示extends任何类,默认的继承Object类!
4、例子:功能:Aniaml类,Dog类,Cat类
/*
*Animal 类
*/
public class Animal extends Object{ //颜色 String color; //年龄 int age; public void eat(){ System.out.println("动物吃饭"); } public void sleep(){ System.out.println("动物睡觉"); } public void introduce(){ System.out.println("自我介绍:颜色:"+color+",age:"+age); } @Override public String toString() { return "动物的颜色:"+color+",年龄:"+age; } }
//Dog类 public class Dog extends Animal{ //狗自己特有的属性 String name; String type; //特有的看门的方法 public void guard(){ System.out.println("小狗"+name+"在看门,是人类的好朋友"); } @Override public void eat() { System.out.println("小狗"+name+"在吃饭"); } @Override public void sleep() { System.out.println("小狗"+name+"在睡觉"); } @Override public void introduce() { System.out.println("dog:color:"+color+",age:"+age+",name"+name+",type:"+type); } @Override public String toString() { return "狗的名称:"+name+",年龄;"+age+"岁,种类"+type+",颜色:"+color; } }
//Cat类 public class Cat extends Animal{ String name; String sex; @Override public void eat() { System.out.println("猫吃鱼"); } @Override public void sleep() { System.out.println("猫看不见它睡觉"); } @Override public void introduce() { System.out.println(name+"喵喵的叫"); } @Override public String toString() { return "猫的名称:"+name+",年龄:"+age+"岁,性别"+sex+",颜色:"+color; } }
//TestAnimal public class TestAnimal { public static void main(String[] args) { Animal an =new Animal(); an.age=2; an.color="yellow"; an.eat(); an.sleep(); an.introduce(); System.out.println(an.toString()); System.out.println("---------------"); Dog dog =new Dog(); dog.age=3; dog.color="black and blue"; dog.name="旺财"; dog.type="拉布拉多"; dog.eat(); dog.sleep(); dog.introduce(); dog.guard(); System.out.println(dog.toString()); System.out.println("---------------"); Cat cat =new Cat(); cat.age=2;//父类的属性 cat.color="白色";//父类的属性 cat.name="图图";//孩子自己独有的 cat.sex="母";//孩子自己独有的 cat.eat();//重写了 cat.sleep();//重写了 cat.introduce();//重写了 System.out.println(cat); } }
JAVA核心技术--继承
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。