🙉专栏推荐:Java入门知识🙉
🙉 内容推荐:“继承与组合:代码复用的两种策略“🙉
🐹今日诗词:马踏祁连山河动,兵起玄黄奈何天🐹
快去学习
🌸思维导图🌸
🌸一.多态概念🌸
🌸二.多态实现条件🌸
package Test1;
class Animal {
String name;
int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() { //父类的方法
System.out.println(age + "岁的" + name + "正在吃-----");
}
}
class Dog extends Animal {
public Dog(String name, int age) {
super(name,age);
}
@Override //这表明父类方法被重写了
public void eat() { //子类重写父类方法
System.out.println(age + "岁的" + name + "正在吃狗粮");
}
}
class Cat extends Animal {
public Cat(String name, int age) {
super(name, age);
}
@Override
public void eat() { //子类重写父类方法
System.out.println(age + "岁的" + name + "正在吃猫粮");
}
}
public class Test1 {
public static void eat(Animal animal) { //Animal animal就是父类的引用
animal.eat();
}
public static void main(String[] args) {
Dog dog = new Dog("狗狗", 3);
Cat cat = new Cat("猫猫", 4);
eat(dog); ///通过父类的引用调用对应的eat方法
eat(cat);
}
}
🌸三.重写和重载🌸
🌸四.转型🌸
🍎1.向上转型🍎
package Test1;
class Animal {
String name;
int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() { //父类的方法
System.out.println("父类方法");
}
}
class Dog extends Animal {
public Dog(String name, int age) {
super(name,age);
}
@Override //这表明父类方法被重写了
public void eat() { //子类重写父类方法
System.out.println(age + "岁的" + name + "正在吃狗粮");
}
public void bark() {
System.out.println("汪汪叫");
}
}
public class Test1 {
public static void eat(Animal animal) { //Animal animal就是父类的引用
animal.eat();
}
public static void main(String[] args) {
Animal animal =new Dog("狗狗",3);
eat(animal);
animal.eat(); //两者运行结果相同
}
}
🍎2.向下转型🍎
🌳1.instanceof关键字🌳
🌸五.多态与选择语句🌸
🌸六.重写方法的调用🌸
🌸三.结语+美图分享🌸
✨🎆谢谢你的阅读和耐心!祝愿你在编程的道路上取得更多的成功与喜悦!"🎆✨🎄
⭐️点赞收藏加关注,学习知识不迷路⭐️
🎉✔️💪🎉✔️💪🎉✔️💪🎉✔️💪🎉
👍😏⛳️ 点赞
☀️收藏
⭐️ 关注
!😏👍
👍😏⛳️ 点赞
☀️收藏
⭐️ 关注
!😏👍
👍😏⛳️ 点赞
☀️收藏
⭐️ 关注
!😏👍
🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️