2022-07-26第一小组 孔海波 学习笔记
今日学习情况:掌握
心情:80%
Java基础
抽象类
抽象类约定了返回值,访问权限,参数列表抽象方法必须在抽象类中中定义抽象类的结果。构造方法、属性、抽象方法、普通方法。抽象类中可以没有抽象方法抽象类不能被直接实例化,依靠子类向上转型可以。抽象类构造方法为了约定子类构造方法必须和父类匹配子类若不是抽象类,那就必须重写抽象类中所有的抽象方法抽象类可以继承抽象类abstract可以修饰类和方法,开发中基本上都是public(默认),少部分protected不能final修饰抽象方法,抽象类也不能用final修饰。下面看看具体的代码:
abstract class Animal{
private String name;
public abstract void eat();
}
子类在继承抽象类后必须实现抽象类所有的抽象方法,如果子类也是抽象类则可以不实现。下面就是具体代码:
class Human extends Animal{
@Override
public void eat(){
System.out.println("人在吃东西");
}
}
接口
接口不能有属性和方法,只能有抽象方法和静态常量和静态方法和默认方法(jdk8后)接口的特点:接口中默认public、abstract默认也不写,接口中的结果必须是public。接口可以多实现,继承只能单继承,优先使用接口。接口实现也可以多态,接口指向实现类,接口使用interface关键字,子类使用 implement实现接口,接口可以多实现,下面我们看看代码:
interface Biology{
void eat();
void play();
Integer P = 6;
//默认方法
default void drink(){
System.out.print("p+p+p+p");
}
}
class Cat extends Animal implements Biology{//实现接口,实现类
@Override
public void eat() {
}
@Override
public void play() {
}
@Override
public void drink() {
Biology.super.drink();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!