java----接口

package com.jieko;

/**
 *
 * 1.接口没有构造器,抽象类可以有构造器
 *  * 2.接口声明:Interface
 *  * 3.在JDK8之前,接口中只有两部分内容
 *  *  常量:固搭格式:public static final
 *  *  抽象方法:固搭格式:public abstract
 *  *  4.只要可以通过new关键字创建对象,就会有一个对应的构造器被执行,
 *  *  但是有构造器不一定能实例化
 *
 */
public interface TestInterface {
    //变量
    public  static final int NUM = 10;
//抽象方法
    public abstract void a();
    interface TestInterface01{
        public  abstract void b();
    }
    /**
     * 5.类和接口的关系:
     * 实现关系 类实现接口
     * 6.implements关键字就是实现的意思
     * 7.一旦实现一个接口,那么实现类就要重写接口中所有的抽象方法
     * 8.如果没有全部重写接口的抽象方法,那么可以将这个实现类定义为抽象类
     * 9.java只有单继承,但是有多实现,接口有多继承
     * 10.先有继承后有实现,就是继承要在implements前
     * 11.接口无法实例化
      */
     /*abstract*/ class Student extends Father implements  TestInterface,TestInterface01 {
        @Override
        public void a() {
            System.out.println("sjh");
        }
        public void b(){
            System.out.println("45");
        }
        /**
         * 继承:
         *  子类对父类的继承
         *  实现:
         *  类对接口的实现
         */
        public static void main(String[] args) {
            //接口中的常量如何访问?
            TestInterface t = new Student();//接口---》实现类 多态
            t.a();
            System.out.println(TestInterface.NUM);
            System.out.println(Student.NUM);
            Student s = new Student();
            s.a();
        }
/**
 * 多态应用场合:
 *  1.父类作为方法的形参,传入具体的子类对象
 *  2.父类作为方法的返回值类型,返回的是具体的对象
 *  3.接口作为方法的形参,传入的是具体的实现类的对象
 *  4.接口作为方法的返回值类型,返回的是具体的实现类的对象
 */
    }
}
* 在JDK 1.8之后加入了非抽象方法
* 1.public default修饰的非抽象方法
* 2.静态方法
* 注意:
* 1.非抽象方法default修饰符必须要写
* 2.实现类中重写非抽象方法,default修饰符不需要写,否则会出错
* 3.静态方法不能重写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值