JAVA学习–Abstract使用方法

JAVA学习–Abstract使用方法

* abstract:抽象的,可以用来修饰类、方法
 

*


 * 1.abstract修饰类:抽象类


 * 1)不可被实例化


 * 2)抽象类有构造器 (凡是类都有构造器)


 * 3)抽象方法所在的类,一定是抽象类。


 * 4)抽象类中可以没有抽象方法。


 *


 * 2.abstract修饰方法:抽象方法


 * 1)格式:没有方法体,包括{}.如:public abstract void eat();


 * 2)抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法。


 * 3)若子类继承抽象类,并重写了所有的抽象方法,则此类是一个”实体类”,即可以实例化


 * 4)若子类继承抽象类,没有重写所有的抽象方法,意味着此类中仍有抽象方法,则此类必须声明为抽象的!


 *
 
 
 1 public class TestAbstract {
 2     public static void main(String[] args) {
 3         //Person p1 = new Person();
 4         //p1.eat();
 5        
 6         Student s = new Student();
 7         s.eat();
 8        
 9         Person p = new Student();//多态
10         p.eat();
11        
12     }
13 }
14 
15 abstract class Creator{
16     abstract void breath();
17 }
18 
19 abstract class Person extends Creator{
20     String name;
21     public abstract void eat();
22     public abstract void walk();
23    
24     public String getName() {
25         return name;
26     }
27     public void setName(String name) {
28         this.name = name;
29     }
30     public Person(){
31        
32     }
33     public Person(String name){
34         this.name = name;
35     }
36 }
37 class Student extends Person{
38     public void eat(){
39         System.out.println("学生吃饭");
40     }
41     public void walk(){
42         System.out.println("学生走路");
43     }
44     @Override
45     void breath() {
46         System.out.println("学生不应该呼吸雾霾的空气");
47     }
48 }
49 
50 abstract class Worker extends Person{
51     public void eat(){
52         System.out.println("工人吃饭");
53     }
54 //    public void walk(){
55 //        System.out.println("工人走路");
56 //    }
57 }
58 
59 class Animal{
60     //不是抽象方法!
61     public void sleep(){
62        
63     }
64 }

 

转载于:https://www.cnblogs.com/zhangfan94/p/4263288.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109566.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一简单的Ajax例子[通俗易懂]

    一简单的Ajax例子[通俗易懂]—ajax.html http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>http://www.w3.org/1999/xhtml”lang=”en”dir=”ltr”>DevelopingWebApplicationwithAjax-Example//此函数将在电击”ViewXMLdata”链接

    2022年7月26日
    4
  • 第一课:什么是树莓派[通俗易懂]

    第一课:什么是树莓派[通俗易懂]楔子我对树莓派是情有独钟,不但在做这个方面的教学,而且录制了些教学视频,现在计划做几个树莓派的博客专栏,以弥补视频教学的不足。这是《树莓派系统专栏》的第一课,叫什么是树莓派(这也是我教学视频的第一课),希望给第一次接触树莓派的人有一个感性认识。树莓派长什么样我们要搞清楚一个刚接触的东西,最直观的是看它的实物,下面我就先上一张图。我希望上最好的图片给大家,包括专业和美感,这张图是树莓派官网…

    2022年5月4日
    70
  • thinkphp在app接口开发过程中的通讯安全认证

    thinkphp在app接口开发过程中的通讯安全认证

    2021年11月7日
    67
  • 格雷码的实现[通俗易懂]

    格雷码的实现[通俗易懂]问题:产生n位元的所有格雷码。格雷码(GrayCode)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000001011010110111101100。如果要产生n位元的格雷码,那么格雷码的个数为2^n.假设原始的值从0开始,格雷码产生的规律是:第一步,改变最右边的

    2025年6月3日
    0
  • HDU 4921 Map

    HDU 4921 Map

    2021年12月9日
    42
  • mysql怎么创建账户_mysql添加索引

    mysql怎么创建账户_mysql添加索引1.使用root账户登录到mysql:mysql -uroot -p2.创建用户名和密码:grant all on *.* to 用户名@’127.0.0.1′ identified by "密码";3.创建成功后,需设置访问权限。首先切换到mysql数据库:use mysql;4.修改新建用户的权限:update user set host = ‘%’ where user = ‘attckne…

    2022年8月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号