Java抽象类/接口
Posted tractors
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java抽象类/接口相关的知识,希望对你有一定的参考价值。
一、抽象类:
1.关键字:abstract ;修饰抽象类,抽象方法;
2.注释:
2.1.抽象类不可以创建对象,但是可以被声明引用(强制被使用多态);
2.2.抽象类不一定包含抽象方法,包含抽象方法一定是抽象类;
抽象方法:
1.格式:abstract修饰,且没有方法体;因为必须被子类复写,则又方法体也没有意义;
2.注释:必须被子类复写;
3.注释:抽象方法不能用private修饰,因为抽象方法必须被实现;
//父类 public abstract class father public abstract void study(); //无需加; //子类 class son extends father void study() System.out.println("study"); public class test public static void main (String args[]) new son().study();
二、接口:
1.接口定义:interface; 类定义:class;
2.格式格式:只能定义公有静态常量和公有抽象方法;
(1)常量:public static final 数据类型 常量名=值;
(2)方法:public abstract 返回值类型 方法名([参数..])
//修饰符可以省略,系统会默认;
(3)接口中的三种方法:
1)抽象方法;
2)静态方法,包含方法体;jdk1.8;
3)默认方法,一般是空方法实现;jdk1.8;
3.接口特点:
(1)接口可以extends继承多个接口,类是单继承;
(2)接口内可以再定义接口;
4.接口多态:类似继承的多态创建;接口名 实例名=new 实例();
5.实现调用:
//接口
interface Inter
public static final int NUM=1;
public abstract void run();
//子类
class SubInter implements Inter
public void run()
System.out.println(123);
public class test
public static void main(String[] args)
SubInter t = new SubInter();
System.out.println(t.NUM);//实例调用
System.out.println(Inter.NUM);//接口名调用
System.out.println(SubInter.NUM);//类名调用
6.枚举:
public enum 枚举名
实例名1,实例名2,实例名3….
三、抽象类和接口的区别:
以上是关于Java抽象类/接口的主要内容,如果未能解决你的问题,请参考以下文章