Java面向对象程序设计笔记

第三章继承与多态

一、继承

继承是Java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

定义:继承就是子类继承父类的特征和行为,使的子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

语法:
[修饰符] class 子类名 [extends 父类名]{
   // 类定义部分
}

eg:

//宠物类   父类/超类/基类
public class pet{
        String name;
        int age;
        public void play(){
                System.out.println(name+"正在跟你玩!");

        }
}

//狗狗类 继承了宠物类  通过关键字extends
public class Dog extends Pet{
        public void talk(){
        System.out.println(name+"在汪汪!");
        }
}

二、重载和重写

重载:在同一个类中多个方法可以具有相同的方法名,但参数必须不同。

重写:在子类中重新定义了父类中某方法的运行效果。

子类需要访问父类中成员时:使用super关键字

public class Car extends Vehicles{
    public Car(String brand,String color){
        super(brand,color);  // 在子类中调用父类的属性和方法 使用super关键字
    }
}

 三、多态

定义:

多态是同一个行为具有多个不同表现形式或形态的能力。

//宠物类   父类/超类/基类
public class pet{
        String name;
        int age;
        public void play(){
                System.out.println(name+"正在跟你玩!");

        }
}

public class Cat extends Pet{
        public void play(){
            System.out.println(name+"在喵喵!");
        }
        public void cc(){
            System.out.println("在铲bb");
        }
}

pubiic static void main(String[] args){
          Pet p1=new Cat();
          p1.name="tom";
          p1.play(); // 猫猫类的play方法被执行System.out.println(name+"在喵喵!");
    }


 instanceof运算符

a instanceof A   a对象是A类的类型

pubiic static void main(String[] args){
          Pet p1=new Cat();
          p1.name="tom";
          p1.play();
          if(p1 instanceof Cat){  //先验证后转换
                Cat c=(Cat)p1;  //强制转换
                c.cc();

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值