java基础知识学习——面向对象继承、重写、super关键字和多态性的理解

知识点汇总

1.继承性
2.重写
3.四种权限修饰符 private、缺省、protected、public权限由小到大,public在同一个工程下都可以调用,protected在同一个包下可调用
4.super关键字的使用
调用属性和方法、调用构造器使用super(形参列表)的方式调用父类中声明的 指定的构造器,必须声明在子类构造器的首行
代码示例:

public class OverWriteTest extends animal{
    //子类构造器声明
    public OveWriteTest(int age,String name) {
        //调用父类中的有参构造器
        super(age,name);
    }
    //重写父类方法示例
    public void run() {
        System.out.println("动物跑");
    }
    //
}
class animal{
    //私有属性
    private int age;
    private String name;
    private String gender;
    //创建构造器
    public animal() {
    //无参构造器
    }
    public animal(int age,String name){
        this.age=age;
        this.name=name;
    }
    //创建set、get方法
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    //创建父类方法
    public void run(){
        System.out.println("动物需要跑");
    }
}

多态性:
对象的多态性 父类的引用指向子类的对象(或子类的对象赋给父类的引用)。
多态的使用:虚拟方法调用,有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期我们实际执行的是子类重写父类的方法(总结:编译看左边,运行看右边)
对象的多态性只适用于方法不适用于属性(编译和运行都看左边)
创建Human类

public class Human {
    //属性
    int age;
    String name;
    //创建方法
    public void run(){
        System.out.println("人都要走路");
    }
    public void eat(){
        System.out.println("人要吃饭");
    }
    public void sleep(){
        System.out.println("人都要睡觉");
    }
}

创建Man类继承与Human

public class Man extends Human {
    //重写方法
    public void eat(){
        System.out.println("男生喜欢吃肉");
    }
    public void run() {
        System.out.println("男生跑的快");
    }
}

main方法测试:

public class HumanTest {
    public static void main(String[] args) {
        //创建实例
        Human human=new Human();
        human.eat();
        human.run();
        System.out.println("****************************");
        //多态性示例练习
        Human m1=new Man();
        m1.run();
        m1.eat();
    }
}

输出结果为:

人要吃饭
人都要走路
****************************
男生跑的快
男生喜欢吃肉

注意:在我们谈论多态性的时候它的前提是必须基于继承性的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值