java抽象类和抽象方法
2024-10-14 13:21:26
首先应该明确一点的是,抽象方法必须定义在抽象类中。
先看一个抽象类的定义:
public abstract class Animal { public abstract void eat(); public abstract void sleep(); public void Smile()
{
System.out.println("每个动物都会微笑,因为最美!");
} }
抽象类作为一个父类,可以定义抽象方法,也可以定义一般方法。
我们在来定义一个子类:
public class Man extends Animal{ public void eat()
{
System.out.println("一天天就知道个吃");
} public void sleep()
{
System.out.println("就知道个睡");
} public static void main(String[] args)
{
Man obj=new Man();
obj.eat();
obj.sleep();
obj.Smile();
}
}
子类Man继承了抽象类,那么就必须将其抽象方法实现,是必须,必须,不然就会报错。
抽象类和接口的区别:
子类继承了抽象类,抽象方法必须实现,然而其他其他方法可以不实现,抽象方法中也可以定义不是抽象的方法
子类实现接口,接口中默认的方法都为抽象方法,也就不能实现,一个子类可以实现多个接口,而只能继承一个抽象类,其实接口是抽象类中更为具体的一种类而言。
public interface TrafficTool { void Car(); void Airport(); void Train(); } public class LandTool implements TrafficTool { public void Car()
{
System.out.println("走,咋们炸汽车去");
} public void Airport()
{
System.out.println("走,咋们炸飞机去");
} public void Train()
{
System.out.println("抢火车去不去,愣货");
} public static void main(String[] args)
{
LandTool obj=new LandTool();
obj.Car();
obj.Airport();
obj.Train();
}
}
补充接口,接口不允许任何方法定义,接口和实现完美分离。
最新文章
- python基础——多重继承
- NSOperation创建队列
- 淘宝SKU组合查询算法实现
- 【BZOJ】1059: [ZJOI2007]矩阵游戏(二分图匹配)
- LRU
- .NET开源工作流RoadFlow-流程设计-流程步骤设置-基本设置
- ZOJ3732 Graph Reconstruction Havel-Hakimi定理
- bzoj3224 Tyvj 1728 普通平衡树(名次树+处理相同)
- 了解php面向对象
- CODE[VS]-寻找子串位置-字符串处理-天梯青铜
- Android微信朋友圈全文、收起功能
- 301、404、200、304、500HTTP状态
- 最新的chart 聊天功能( webpack2 + react + router + redux + scss + nodejs + express + mysql + es6/7)
- 函数作用域中的this问题
- Docker Mysql主从同步配置搭建
- Ext 行统计有意思的实现.(js对象的循环, ext列的设置)
- ZOJ Problem Set - 1730 Crazy Tea Party
- 细说tomcat之集群session共享方案
- R-FCN论文讲解(转载链接)
- cocoa pods自己的笔记