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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ConcurrentHashMap是如何实现线程安全的

    ConcurrentHashMap是如何实现线程安全的ConcurrentHashMap是如何实现线程安全的文章目录ConcurrentHashMap是如何实现线程安全的前言相关概念Amdahl定律初始化数据结构时的线程安全总结put操作的线程安全总结扩容操作的线程安全扩容时的get操作多线程协助扩容在什么情况下会进行扩容操作?总结统计容器大小的线程安全假设当前线程为第一个put的线程出现了线程竞争导致CAS失败计数桶扩容总结get操作的线程安全总…

  • Axiso解决跨域访问

    Axiso解决跨域访问这里以访问豆瓣Top250为例,直接访问如下:this.$axios.get("http://api.douban.com/v2/movie/top250").then(res=>{console.log(res)}).catch(err=>{

  • FlashFXP注册码、密钥

    FlashFXP注册码、密钥flashfxp3.41中文版注册码:(适合最新版本)推荐(尚未被封的Realkey)FLASHFXPvACq2ssbvAAAAAC1W7cJKQTzmx77zmqJICvA7d3WnUtWNXdrp8YuERRFdIvXfOPbcpABkVix2aRTgg6afcIKFPxS72XYljdE9tgQD/2r+kmfVBngGM4Qc9p7e0PcTfFF/1tt2bqlxS8r0L7…

  • 最大似然估计的分布函数_二项分布的最大似然估计值怎么求

    最大似然估计的分布函数_二项分布的最大似然估计值怎么求原因今天晚上,老师在看LDA数学八卦的时候,问我一个问题,如下图所示:这个多项式分布的参数,采用极大估计是怎么求的呢?当时想了想还真不知道,于是在网上找了资料,学习了一下,特此记录。公式推导很多情况下,假定一个变量XX有kk个状态,其中k>2k>2,每个状态假定的可能性为p1,p2,⋯,pkp_{1},p_{2},\cdots,p_{k},且∑ki=1pi=1\sum_{i=1}

    2022年10月12日
  • presentation里的reference_preference的用法

    presentation里的reference_preference的用法Perference也就是我们常说的偏好设置,首选项设置,能够自己主动保存一些数据,比如我们在上一次使用的时候的一些内容,则在下一次启动后依旧生效,而不须要再进行配置。当用户改变设置时,系统就会更新SharedPreference文件里相应的值。perference使用键值对的方式来处理,在android3.0之前,我们一般去继承Preference这个基类,去给用户呈现一个…

  • 登录令牌 Token 介绍

    登录令牌 Token 介绍

发表回复

您的电子邮箱地址不会被公开。

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