首页 > 其他分享 >interface关键字 day09

interface关键字 day09

时间:2024-08-05 22:50:55浏览次数:12  
标签:day09 void Inter1 接口 abstract 关键字 interface public

/*
    java提供了一个关键字:interface,用来定义一个接口
    接口的主要作用是用来描述类的额外功能的。

    定义一个接口的语句定义格式:
    interface 接口名{

    }

    需求:定义一个普通的狗类,和一个会骑车的狗类

    使用接口的注意事项:
        1、接口中只能出现抽象方法,不能写具体的方法
        2、一个具体的类实现接口的话,需要使用关键字:implements
        3、若一个具体的类实现接口的时候,必须要实现接口中所有的抽象方法
        4、一个具体的类可以同时实现多个接口,但是必须要所有的抽象方法
        5、抽象也可以实现一个或多个接口


 */
/*
    接口与接口之间是继承关系:
        一个可以继承若干个接口,可以多继承。

    面试题:java中允许多继承吗?
        1、类与类之间只允许单继承,不允许多继承,但是可以多层继承,形成继承体系
        2、接口与接口允许多继承
 */
/*
    接口中成员的特点:
        成员变量:
            接口中的变量默认都是被添加了修饰符:public static final
            换句话说,接口中只允许出现常量
        构造方法:
            接口中没有构造方法,自己写都不行,接口不能实例化
        成员方法:
            接口只能是抽象方法,默认会在方法前加上修饰符:public abstract
 */


interface Inter1{
//    Inter1(){
//
//    }
    public static final int a = 10;

    public abstract void fun1();
}

class Inter1Impl implements Inter1{
   public void fun1(){
//       a = 100; // java: 无法为最终变量a分配值
       System.out.println(a);
   }
}

public class InterfaceDemo3 {
    public static void main(String[] args) {
//        Inter1Impl inter1 = new Inter1Impl();
//        inter1.fun1();
        System.out.println(Inter1.a);

//        Inter1 inter1 = new Inter1();
    }
}


interface StudentDao{
    public abstract void insert();
    public abstract void delete();
    public abstract void update();
    public abstract void select();
}

//一般来说给实现类起名字的时候,是: 接口名Impl
class StudentDaoImpl implements StudentDao{

    @Override
    public void insert() {

    }

    @Override
    public void delete() {

    }

    @Override
    public void update() {

    }

    @Override
    public void select() {

    }
}

标签:day09,void,Inter1,接口,abstract,关键字,interface,public
From: https://www.cnblogs.com/qiwei-bigdata/p/18344165

相关文章

  • JavaScript(二十二)——JavaScript this 关键字
    目录方法中的this单独使用this函数中使用this(默认)函数中使用this(严格模式)事件中的this对象方法中绑定显式函数绑定面向对象语言中this表示当前对象的一个引用。但在JavaScript中this不是固定不变的,它会随着执行环境的改变而改变。在方法中,this表示该方......
  • abstract关键字以及与public,final,static的关系 day09
    多态程序中,第一大前提要有继承关系。但是呢,比如上午写的动物案例,我们将狗,猫,猪这些具体的动物分别编写了一个类进行对应这都是没问题的。但是呢,动物本身应该是一个抽象的概念,我们在现实生活中其实是找到不到Animal的实例的。具体的事物,我们就可以使用java代码......
  • 多态的可扩展性动物行为实例 day09
    packagecom.shujia.day09;importjava.nio.channels.Pipe;/*多态的好处1、提高了程序的维护性(由继承保证)2、提高了程序的扩展性(由多态保证)*/classAnimal{Stringname;intage;publicAnimal(){}publicAnimal(S......
  • 多态的转型,向下转型day09
    多态访问成员方法的弊端:多态的形式下,无法调用子类中特有的方法。解决方案:向下转型。语句定义格式:子类的类型对象名=(子类的类型)父类的变量;向下转型的理解曹操和曹植的故事,曹操是曹植的父亲,曹植是曹操的儿子class曹操{publicvoi......
  • 多态的概念,前提,注意事项以及访问成员的特点 day09
    多态:某一个事物在不同状态下的多种状态举例:1、学生是人,老师是人,医生是人。2、汽态的水是水,固态的水是水,液态的水是水在java中要实现多态的话,需要有3个前提:1、必须要有继承关系2、要有方法的重写(思考可否不重写?)......
  • Java并发—synchronized关键字的应用
    目录1、synchronized适用场景2、synchronized的原理3、synchronized的锁升级4、synchronized的注意事项5、总结synchronized是Java中用于实现线程同步的关键字。它可以在方法级别或代码块级别使用,以确保同一时刻只有一个线程可以访问被同步的代码段。synchronized通......
  • params, ref ,out, in关键字以及构造函数
    1.params(paramerters )是可变参数,参数个数不固定 2.可变参数不能在必填写参数前边,且可变参数只能有一个(把参数传递给一个数组,参数个数也可以不固定,但不包含0)publicstaticintSum(paramsint[]nums){intsum1=0;//for循环在循环中可以更改目标,而for......
  • 【Python系列】深入理解 Python 中的 `nonlocal` 关键字
    ......
  • final关键字day08
    /*父类中的除了非私有的,非静态方法,构造方法,难道其他的方法都可以让子类重写吗?如果某一个方法不想子类重写,只能让子类使用java提供了以关键字:final最终的,不可变可以修饰类,成员变量,成员方法*//*final:最终的,不可变的可以修饰类,成员变量,成员方法......
  • 01-network-manager-all.yaml和interfaces和resolv.conf各有什么区别和联系
    01-network-manager-all.yaml、interfaces和resolv.conf是与网络配置相关的文件,它们在网络设置中有着不同的作用和使用方式。01-network-manager-all.yaml:这是一个配置文件,通常在Ubuntu系统上使用NetworkManager进行网络管理时使用。文件路径通常是/etc/netplan/01-net......