Java之路---Day10(抽象)
2019-10-25 07:14:05来源:博客园 阅读 ()
Java之路---Day10(抽象)
2019-10-24-23:21:17
目录
1.抽象的方法
2.抽象类
3.抽象类和抽象方法的使用
4.抽象类的注意事项
5.案例代码
1.抽象的方法
What:如果父类当中的方法不确定如何进行{}方法体实现,那么这就是一个抽象方法。
抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。
抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。
2.抽象类
抽象类除了包含抽象方法外,还可以包含具体的变量和具体的方法。类即使不包含抽象方法,也可以被声明为抽象类,防止被实例化
3.抽象类和抽象方法的使用
1.不能直接创建new抽象类对象。
2.必须用一个子类来继承抽象父类。
3.子类必须覆盖重写抽象父类当中所有的抽象方法。
覆盖重写(实现) :子类去掉抽象方法的abstract关键字,然后补上方法体大括号。
4.创建子类对象进行使用
4.抽象类的注意事项
1.抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。
2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。
3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
4.抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。
5.抽象类不能被实例化,抽象方法必须在子类中被实现
5.案例代码
1 package demopra;
2 //定义一个抽象类
3 abstract class Employees {
4 //定义一个变量
5 private String name;
6 //空参构造方法
7 public Employees() {
8 }
9 //全参构造方法
10 public Employees(String name) {
11 this.name = name;
12 }
13 //定义一个抽象方法
14 public abstract void work();
15
16 // @Override
17 // public String toString() {
18 // return "Employees{" +
19 // "name='" + name + '\'' +
20 // '}';
21 // }
22 //Getter和Setter
23 public void setName(String name) {
24 this.name = name;
25 }
26
27 public String getName() {
28 return name;
29 }
30 }
1 package demopra;
2 //定义一个抽象类的子类
3 public class Teacher extends Employees{
4 //必须实现的方法,重写父类中的方法
5 @Override
6 public void work() {
7 System.out.println("我叫"+this.getName()+",是你们这学期的班主任");
8 }
9 }
1 package demopra;
2 //定义一个抽象类的子类
3 public class Driver extends Employees{
4 //必须实现的方法,重写父类中的方法
5 @Override
6 public void work() {
7 System.out.println("我叫"+this.getName()+",是一名出租车司机");
8 }
9 }
1 package demopra;
2
3 public class AbstractTest {
4 public static void main(String[] args) {
5 //创建一个Teacher对象
6 Teacher teacher = new Teacher();
7 //为Teacher对象添加一个名字
8 teacher.setName("张三");
9 //执行重写的方法
10 teacher.work();
11
12 //创建一个Driver对象
13 Driver driver = new Driver();
14 //为Driver对象添加一个名字
15 driver.setName("李四");
16 //执行重写的方法
17 driver.work();
18 }
19 }
运行结果
我叫张三,是你们这学期的班主任
我叫李四,是一名出租车司机
原文链接:https://www.cnblogs.com/hpcz190911/p/11735846.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash