java接口类和抽象类
来源:互联网 发布:navicat linux 安装 编辑:程序博客网 时间:2024/06/04 19:22
对一些接口和抽象类的理解
接口和抽象类
加了限制的类,说起来感觉和像栈和队列,图有些方面相似,栈,队列,图,都是加了限制的链表,成了一种新的数据结构,并不是一定要按这种方式来操作,只是一种人为的限制罢了。 假如你在用栈的时候给定义并实现了一个可以操作除了栈顶的方法, 那就不叫栈了,那是链表,没有加限制的链表。 接口(Interface),抽象类(abstract)也类似 都是在一般类上加了限制的一种新的供用户操作的结构类。
接口(Interface)
Interface ClassName{
//代码块
}接口类里面的属性必须是 static final ,方法必须是public 方法体里面不能有自己实现的方法 (但是可以有默认方法 即 default methodName(){ //...}
抽象类(abstract)
abstract ClassName{
//代码块
}抽象类里面的属性可以不是 static final ,方法也可以不是public 且可以在abstract 类中直接实现 , 若不实现就要加上abstract关键词限定
相关代码
接口类
interface simplein{ static final int x = 0; //所有变量必须是public static final void show(); //每个实例各有的 default show(){ System.out.println(); } void showOne(); //每个实例各有的 /**若要实现,必须添加修饰符static,使之变为静态*/ static void showStatic(){ //每个实例共有的 System.out.println("(interface)在interface中的showStatic()"); }}Interface simplein_Other{ //...}-------------------------------------------------class simpleinOne implements simplein{ /**必须实现simple的所有方法**/ @Override public void show() { System.out.println("(interface)在simplein的子类simpleinOne中实现的show()"); } @Override public void showOne() { System.out.println("(interface)这个只是作为测试,说明 要实现simplein接口,必须实现其所有方法"); }}-------------------------------------------------//一个类可以实现多个接口class simpleinOne implements simplein implements simplein_Other{ //...}
抽象类
abstract class simpleab{ /*** 抽象类中必须要使其函数也是abstract**/ abstract void show(); abstract void showOne(); /**若要实现必须要去掉修饰符abstract 或者像接口一样加上static*/ static void showStatic(){ //每个实例共有的 System.out.println("(abstract)在abstract中的showStatic()"); } void showNoAbstract(){ //每个实例各有的 System.out.println("(abstract)在abstract中的showNoAbstract()"); }}----------------------------------------------------class simpleabOne extends simpleab{ /**要想实现抽象类,同接口类一样都必须实现其所有方法**/ @Override void show() { System.out.println("(abstract)在simpleab的子类simpleabOne中实现的show()"); } @Override void showOne() { System.out.println("(abstract)这个只是作为测试,说明 要实现simpleab抽象类,必须实现其所有方法"); }}//一个类不能实现多个抽象类,只能继承自一个抽象类
simplein.showStatic(); //simpleinOne.showStatic(); //报错,在interface中的static函数不能被实现类所调用,只能被自身调用simpleab.showStatic(); simpleabOne.showStatic(); //而这个不会报错,证明abstract的实现类可以访问到其超类的static函数
以上就是总结了一点点对其的理解,其实对其要想理解更深,就要在实际问题中,用到它,在上面环境什么情况下用到,用多了就熟悉了
阅读全文
0 0
- Java 抽象类,抽象方法和接口
- Java抽象类和抽象方法、接口
- Java接口和抽象类
- java接口和抽象类
- java 接口和抽象类
- java接口和抽象类
- JAVA抽象类和接口
- java抽象类和接口
- java抽象类和接口
- Java:抽象类和接口
- java接口和抽象类
- Java 抽象类和接口
- JAVA抽象类和接口
- java抽象类和接口
- java接口和抽象类
- JAVA抽象类和接口
- Java抽象类和接口
- java 抽象类和接口
- java 十进制转二进制、八进制、十六进制代码复用
- Java中servlet的实现过程
- ios 视频录制
- c# -- mysql中的读取数据的几个方法
- [Javascript 高级程序设计]学习心得记录9 js面向对象
- java接口类和抽象类
- 协调多个对象之间的交互——中介者模式(二)
- RayAdas周报第一期2017.11.26
- 数据库中长度不匹配问题
- GitHub配置SSH key
- 搭建远程仓库(源)来托管 Sencha 包(Pacakge)
- PHP之redis
- 布局与日历
- 静态方法和成员变量