java笔记2.11

昨天四级,痛斥食堂二十多分钟,写挺爽的,把不满都给写了出来,就是…分没了
哎罢了罢了

接口

这样看来接口和类,并没有什么太大的区别,但是既然存在即合理,必然有其存在的道理

接口中的变量

接口中变量默认是final不可更改
例如:一下例子中的 test2类中的num,就相当于
public final static int num=100;
(好长一段修饰符)

接口中的方法

构造方法
接口中不允许有构造方法,接口是没有构造方法
object类是所有类的超类

一般方法
一般方法都是抽象方法,不允许有方法体

public class b {
    public static void main(String[] args) {
        test1 t1 = new test1();
        test2 t2 = new test2();
        t1.function();
        t2.function();
        System.out.println("t1数值" + t1.num);
        System.out.println("t2数值" + t2.num);
        System.out.println("接口静态数值" + test2.num);
    }
}

abstract class c1 {
    public int num = 10;

    public abstract void function();
}

interface f1 {
    public int num = 100;

    public abstract void function();
}

class test1 extends c1 {
    public void function() {
        System.out.println("这是test1,继承c1类");
    }
}

class test2 implements f1 {
    public void function() {
        System.out.println("这是test2,实现f1接口");
    }
}

案例:

public class b {
    public static void main(String[] args) {
        WhitePerson p1 = new WhitePerson();
        BlackPerson p2 = new BlackPerson();
        p1.show();
        p2.show();

    }
}

interface person {
    void show();
}

class WhitePerson {
    void show() {
        System.out.println("这是白人");
    }
}

class BlackPerson {
    void show() {
        System.out.println("这是黑人");
    }
}

迄今为止,所以我们可以知道,java中多态有三种方式

类继承:不同子类,类型是左边,运行是右边

抽象类继承:用于抽象无法具体化的特征,然后再去继承

接口实现:在抽象的基础上,严格限定了方法都为抽象类,变量成员都是fianl static
.

.
.
.
.

抽象类是可以带有构造的

public class b {
    public static void main(String[] args) {

        c2 test = new c2();
        test.function();
    }
}

abstract class c1 {
    abstract void function();

    c1() {
        System.out.println("这是构造");
    }
}

class c2 extends c1 {
    void function() {
        System.out.println("这是方法");
    }
}

接口是为了实现多继承而存在
接口与接口之间是继承
类与接口之间是实现

多继承展示

public class b {
    public static void main(String[] args) {

    }
}

interface Person {
    void Showperson();
}

interface Person2 {
}

// 多继承,person3接口同时继承了person2,person
interface Person3 extends Person2, Person {
}
// 多继承,person4  类同时实现了person2,person
class person4 implements Person, Person2 {
    public void Showperson() {
        System.out.println("this is show");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值