Java笔记(二)

一、多态

1、它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为(简单来说就是在继承上的更多分类)

具体情况如例:

public class People {
    public void run() {
        System.out.println("跑步中");
    }


}
class Student extends People {
    public void run() {
        System.out.println("学生在跑步");
    }

    public void walk() {
        System.out.println("学生在走路");
    }
}
public class PeopleTest {
    public static void main(String[] args) {
        People s1 = new Student();       //对象的引用类型为父类
        Student s2 = new Student();      //对象的引用类型为子类

        s1.run();    //调用父类的run方法
        s2.run();    //调用子类的run方法
        s2.walk();   //调用子类的walk方法
        s1.walk();   //调用父类的walk方法
    }
}

会发现,s1.walk()报错

因为s1引用父类,而People里面没有walk方法

因此可以得知,对象的引用类型看左边

总结:

1、子类可以调用自己或父类的方法

2、父类不可以调用子类独有的方法

3、如果子类重写了父类(子类父类方法名相同但方法体内容不同),那调用时优先调用子类重写后的方法

二、instanceof关键字

一种双目运算符,用于判断对象是否为一个类的实例

语法:

System.out.println(对象 instanceof 类);
//结果为true或者false

如果对象的引用类型与这个类无关,则会报错

三、对象类型转换

向下转型:(指子类对象指向父类引用,把父类转向子类)

语法:

父类 对象1 = new 子类();   //向上转型
子类 对象2 = (父类)对象1;   //向下转型

那么对象1的引用类型是父类,对象2的引用类型是子类

如果想要强制转换:

((子类)对象).子类的方法;

四、抽象类

用abstract修饰

语法:

public abstract class 类名{    //抽象类

    public abstact void 方法名();   //抽象方法,让别人帮忙实现

}

注意:

1、抽象方法必须在抽象类中

2、子类重写父类时,必须补充父类的全部抽象方法

零碎的知识:

同一个java源文件只能有一个类是被public修饰的

在一个文件中,可以不存在与文件同名的类(前提是此文件中没有public类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值