Java基础进阶 抽象类、接口
抽象类
1.抽象类无法实例化对象,它是被用来继承的。但是抽象类有构造方法供子类使用
2.final与abstract不能联合使用
3.抽象类不一定有抽象方法,抽象方法
必须出现在抽象类中
4.定义:public abstract void doSome();
5.(重点)非抽象类继承抽象类,必须将抽象类中的方法进行重写
6.以下语句错误:凡是没有方法体的方法都是抽象方法
接口
1.接口是一种“引用数据类型”,且是完全抽象的
2.接口支持多继承
3.接口中只有常量与抽象方法
4.接口中所有元素都是publlic修饰,抽象方法中public abstract可省略,接口中常量public static final可以省略
5.接口中方法不能有方法体
6.当一个非抽象类实现接口时,需要重写接口中所有方法
package com.javastudy.example03;
public class Dog extends Animal1 implements Fly,Eat{
void move() {
System.out.println("重写抽象类dog move!");
}
public void fl() {
System.out.println("重写接口dog fly!");
}
public void eat() {
System.out.println("重写接口dog eat!");
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.fl();
dog.eat();
System.out.println(dog.length);
//多态
Fly dog1=new Dog();
dog1.fl();
System.out.println(dog1.length);
// dog1.eat(); 错误
//多态
Eat cat=new Cat();
//cat.fly(); 错误
cat.eat();
}
static class Cat implements Fly,Eat{
public void eat() {
System.out.println("重写接口cat eat!");
}
public void fl() {
System.out.println("重写接口cat fly!");
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端