暂无权限

加入尚新途,才有权限看这些视频哦!

点击前往
×
问答
LM
1楼

不好意思,记错了,自己解决了


尚新途

okk

LM
2楼

不是说接口之中方法加了dafault,在类中继承接口就不用重写方法了吗,我这照片里面还是要重写


尚新途

你这里重写的是println方法,你的println方法是没有被default修饰的

爱吃的小胖子
3楼
class TestDefaultImpl01 implements TestDefault

这个代码中

TestDefaultImpl01

这个是啥意思呀


尚新途

这个是了类名,证明这个是TsetDefault接口的实现类

4楼

老师重写接口的默认方法是要这个样子吗?


继承重写我记得要名字完全一样

image.png

尚新途

是的,这就是重写了默认方法了。你实例化这个实现类然后输出这个默认方法,重写之后是输出你现在截图的这个

Fintik
5楼

为什么new的对象是这个不是TestDefault


5.3.1.png



尚新途

因为接口类型不可以new对象呀

风止意难平
6楼

2.png

怎么会 有错误呢?

尚新途

image.png

这个接口什么报错了呢

尚新途

已解决


尚新途

可乐先生
7楼

在类中构建接口的对象,格式必须时 接口  变量名 = new 类名   这样吗

尚新途

对,这个叫面向接口编程,后面会大量的使用的。

8楼

IDEA


老师这都JDK16.0了,为嘛还说版本不够高,还是因为IDEA版本拉低了它的高度。

刚查了下说是IDEA>Project>project language level没设置到位,我刚开始是SDK default,为嘛要这样设置

尚新途

需要匹配对应版本的jdk特性

任仕诚
9楼
class TestA implements A{
    @Override
    public void moren() {
        System.out.println("TestA.moren");
    }
}


为什么我敲 public class TestA implements A{} 会报错,删掉public就好了

尚新途

因为TestA已经存在了,有public修饰的这个类名必须和文件名一样,你使用public修饰,就是这个文件名需要叫TestA,但是这个文件已经存在了,所有会报错

宏刚小神
10楼

老师,我与前面的又绕糊涂了

A a = new Test_A()      //这是父类引用指向子类对象

a.moren();


问,这时候a是属于A的,还是Test_A的,咋运行出来就是重写的方法呢


尚新途

a引用的是new Test_A();注意是对象调用方法哦~

自我检测(5S)