todaystudy1,2多态

 

 

 

 实例化就是new对象,抽象类一new就报错,

意义,代码复用,可以包含抽象方法,为派生类提供统一的接口,必须这样写

她的意思刚才讲的是,如果不用abstract 抽象方法,那么不同的人写的eat();有的人可能用eating,eated,eatted,都用来表达吃,但是第n个人用的话,需要调用吃的这个方法,那么这个人可能用eating,eated,eatted,写好几个eat
,但是写的人人越多,他也要调用的越多,所以这样abstract修饰的话,就统一了这个,接口,那么后来的人只需要写个eat();能用的时候就比较方便

 

 2023/2/23 10:16:52
统一命明,强制重写

 2023/2/23 10:17:38
抽象类一定作为超类,否则没有意义.就是用来代码复用的

 

 

 

 

超类不是基于对象抽象出来的,小猫小狗是的,超类是共有的

 2023/2/23 10:40:53
接口和抽象类区别,

 2023/2/23 10:42:39
修饰是原始单词不变,定义是自己定义的

 

她两是并列的

 

 

 

 

 

 

 

 

接口中的方法,每个都要重写

 

 

这种提示默认认识的只管读

 

 2023/2/23 11:00:25
必须实现们就是必须重写抽象类方法,前面加public.接口前面默认加public abstract

 2023/2/23 11:00:43
而且无分号

 2023/2/23 11:02:09


 

就dot隔开

 

 

现有亲的再有gan

 

 

 

 

继承类实现,两个都要重写

 

 

 2023/2/23 15:48:54
类是引用数据类型

 2023/2/23 16:28:57
Strudent s = new Student

 

 

 

 

 

 

 

 

 

向上造型:
向上造型也叫做向上类型转换或自动类型转换,即父类的引用指向子类的对象。将子类对象的类型转换成父类的类型。

Animal a = new Dog();
上述代码中,创建一个Dog类型的对象,并将其向上造型为Animal类型。

向下造型:
向下造型也叫做向下类型转换或强制类型转换,即子类的引用指向父类的对象。将父类对象的类型转换成子类的类型。

Animal a = new Dog();
Dog b=(Dog)a;
上述代码中,首先创建一个Dog类型的对象,并将其向上造型为Animal类型,此时对象a为Animal类型,若要将其还原,需要对其进行向下造型,转换为Dog类型。

在向下造型时,如果类型不匹配,会发生ClassCastException类型转换异常,因此在进行向下造型(强制类型转换)时,首先通过instanceof关键字判断引用指向的对象是否为指定的类型,若是,则进行强制类型转换。

Animal a = new Dog();
if(a instanceof Dog){
    Dog b = (Dog)a
}
 
————————————————
版权声明:本文为CSDN博主「MardenSSS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37671741/article/details/95621550

 

 会写向上造型

 

不能点出来派生类的

既是也是用多继承,所以用interface

 

 

到底new哪个对象一观看引用类型
想到多态就想到造型

 

 

 

 所以这两个都好使用.要符合这两个条件

 

 

 

 

 

 

 

 


 

 

了解

 

 

 2023/2/24 14:25:38
要么写全,要么不写

 2023/2/24 14:25:47
规则

 

 2023/2/24 14:28:25
在内部类中也要写方法,并不是说直接用

 2023/2/24 14:28:52
因为隐式的引用

  2023/2/24 14:25:47
规则

 2023/2/24 14:27:44

 

package ooday05;

public class InterClassDemo {
    public static void main(String[] args) {
        Mama m = new Mama();
        m.create();
        //Baby b = new Baby(); //编译错误,内部类对外不具备可见性
    }
}

class Mama{ //外部类
    String name="zs";
    void create(){
        Baby b = new Baby(); //内部类对象通常在外部类中创建
        b.show();
    }
    class Baby{ //内部类
        void show(){
            System.out.println(name); //简写
            System.out.println(Mama.this.name); //完整写法,Mama.this指外部类对象
            //System.out.println(this.name); //编译错误,this指当前Baby对象
        }
    }

}

 

 2023/2/24 14:28:25
在内部类中也要写方法,并不是说直接用

 2023/2/24 14:28:52
因为隐式的引用

 

 

内部类对象要在外部类中创建

 

这种有名字Boo

 

new Aoo()是Aoo对象,加{}.就是派生类

 

 

多态,{}系统帮建.没有,名字

 

 

有名字建几个都行

 2023/2/24 14:51:12
这就是另外的了

 2023/2/24 14:53:42
相当于鸡,狗,鱼之类的,但是没有名字

 

 

 2023/2/24 14:56:13
没必要取名字的那种舍去

 2023/2/24 14:57:02
想搞独一无二的月饼,直接就不需要模子

 2023/2/24 15:23:41
必须重写show

 2023/2/24 15:23:50
否则出错

 

背. 

 

 

 

不同的部门公布分公司就会出问题

 

 

 

包名,随点随点随点谁,都是小写,最后一个e.aoo

 

 

 

 

java.util是包的名字

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值