什么是Java中对象的继承?继承应该怎么用?
程序员文章站
2022-06-24 15:03:49
Java面向对象编程之继承讲解对象继承的概念和使用继承⼦类继承⽗类的特征和⾏为,使得⼦类对象具有⽗类的⽅法和属性⽗类也叫基类,具有公共的⽅法和属性,⽣活中的例⼦动物<-猫动物<-狗java中的继承,减少重复代码使⽤前使⽤后格式,通过extends关键字class ⽗类名称{}class ⼦类名称 extends ⽗类名称{}特点⼦类拥有⽗类的⾮private的属性和⽅法⼦类可以⽤⾃⼰的⽅式实现⽗类的⽅法 ove...
Java面向对象编程之继承
讲解对象继承的概念和使用
-
继承
- ⼦类继承⽗类的特征和⾏为,使得⼦类对象具有⽗类的⽅法和属性
- ⽗类也叫基类,具有公共的⽅法和属性,⽣活中的例⼦
- 动物<-猫
- 动物<-狗
-
java中的继承,减少重复代码
-
使⽤前
-
使⽤后
-
-
格式,通过extends关键字
class ⽗类名称{
}
class ⼦类名称 extends ⽗类名称{
}
-
特点
- ⼦类拥有⽗类的⾮
private
的属性和⽅法 - ⼦类可以⽤⾃⼰的⽅式实现⽗类的⽅法
override
(重写,覆盖) - 实现了代码的复⽤
- 重写从⽗类那⾥继承来的⽅法的,当调⽤⽅法时候会优先调⽤⼦类的⽅法(默认就近原则)
- ⼦类拥有⽗类的⾮
未继承,无法调用方法
继承成功,子类调用父类方法
整体示例
package domee.chapter6_4.sub;
public class InheritanceMainText {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setAge(2);
cat.setName("加菲猫");
Dog dog = new Dog();
dog.setAge(3);
dog.setName("史迪仔");
System.out.println("年龄:"+cat.getName());
System.out.println("名字:"+cat.getAge());
cat.sleep();
System.out.println("年龄:"+dog.getName());
System.out.println("名字:"+dog.getAge());
dog.sleep();
dog.eat();
cat.eat();
}
}
默认就近原则
package domee.chapter6_4.sub;
public class Dog extends Animal {
public void eat(){
System.out.println("狗吃肉");
}
@Override
public void sleep(){
System.out.println("(狗)史迪仔闭着眼睛睡觉");
}
public void test(){
sleep();
super.sleep();
}
}
package domee.chapter6_4.sub;
public class InheritanceMainText {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setAge(2);
cat.setName("加菲猫");
Dog dog = new Dog();
dog.setAge(3);
dog.setName("史迪仔");
System.out.println("年龄:"+cat.getName());
System.out.println("名字:"+cat.getAge());
cat.sleep();
System.out.println("年龄:"+dog.getName());
System.out.println("名字:"+dog.getAge());
dog.sleep();
dog.eat();
cat.eat();
dog.test();
}
}
-
注意:
- 不⽀持多继承,⽀持多重继承,多重继承提⾼了耦合性,组合优于继承
- 所有的类都是继承于
java.lang.Object
-
final关键字
- 修饰的类,则这个类不可以被继承
- 修饰⽅法,则这个⽅法不允许被覆盖(重写)
本文地址:https://blog.csdn.net/ruan_luqingnian/article/details/112909204
上一篇: J-基础-线程-线程创建与使用
下一篇: SpringMVC 笔记【下】