在 Java SE 中,继承 和多态是面向对象编程(OOP)的两个核心概念。通过继承,子类可以复用父类的代码;而通过多态,子类可以在不修改父类的前提下定义自己的行为。这两者结合起来使得代码更具扩展性、灵活性和可维护性。
一 继承(Inheritance)
1.继承的概念:
继承是一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以获得父类的非私有成员(包括属性和方法),并可以扩展或重写父类的功能。
2.继承的基本语法
继承通过 extends
关键字来实现。
java
public class Dog extends Animal {
public void bark(){
System.out.println("正在汪汪叫");
}
}
java
public class Derievd extends Base {
public int c=3;
public int a=100;
特点:
- 子类继承了父类的属性和方法。
Dog
类可以使用Animal
类中的name
属性和eat()
方法。 - 子类可以扩展自己的方法,如
bark()
方法。 - Java 中类的继承是单继承,即一个子类只能继承一个父类。
3.子类中访问父类的成员变量
3.1子类和父类不存在同名成员变量
java
public class Animal {
public String name;
public int age;
public void eat(){
System.out.println(this.name+"正在吃东西");
}
}
public class Cat extends Animal{
public void mimi(){
System.out.println("正在喵喵叫");
}
}
public class Dog extends Animal {
public void bark(){
System.out.println("正在汪汪叫");
}
}
public class TEST2 {
public static void main(String[] args) {
Dog dog=new Dog();
dog.name="小白";
dog.age=2;
dog.eat();
dog.bark();
System.out.println("--------");
Cat cat=new Cat();
cat.name="小黑";
cat.age=12;
cat.mimi();
cat.eat();
}
}
3.2子类和父类存在同名成员变量
java
public class Base {
public int a=1;
public int b=2;
}
public class Derievd extends Base {
public int c=3;
public int a=100;
public void fun(){
System.out.println("父类的a"+super.a);
System.out.println(this.a);
System.out.println(this.b);
System.out.println("父类的b"+super.b);
Base base=new Base();
System.out.println(base.b);
System.out.println(this.c);
}
}
public class TEST2 {
public static void main(String[] args) {
Derievd derievd=new Derievd();
derievd.fun();
}
}
希望能对大家有所帮助!!!!