• java 笔记(4)抽象类与抽象方法


    抽象类与抽象方法

    (抽象类必须被继承,抽象方法必须被重)

    抽象类:包含一个抽象方法的类。

    抽象方法:声明而未被实现的方法,抽象方法必须使用abstract关键字声明。

    abstract class Person{
        private int age;
        private String name;
        public Person(int age, String name) {
            this.age = age;
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        
        public abstract void want();
    }
    
    class Student extends Person{
        private int score;
        
        public int getScore() {
            return score;
        }
    
        public void setScore(int score) {
            this.score = score;
        }
    
        public Student(int age, String name,int score) {
            super(age, name);
            this.score=score;
        }
    
        @Override
        public void want() {
            System.out.println("姓名:"+getName()+"  年龄"+getAge()+"  成绩"+getScore());
        }
        
    }
    
    class Worker extends Person{
        private int money;
        
        public int getMoney() {
            return money;
        }
    
        public void setMoney(int money) {
            this.money = money;
        }
    
        public Worker(int age, String name,int money) {
            super(age, name);
            this.money=money;
            // TODO Auto-generated constructor stub
        }
    
        @Override
        public void want() {
            System.out.println("姓名:"+getName()+"  年龄"+getAge()+"  工资"+getMoney());
            
        }
        
        
    }
    public class AbsDemo01 {
    
        public static void main(String[] args) {
            Student s = new Student(10, "小明", 100);
            s.want();
            Worker w = new Worker(35, "大明", 1000);
            w.want();
        }
    
    }

    运行结果:

    姓名:小明 年龄10 成绩100
    姓名:大明 年龄35 工资1000

    分析:

    上面的源代码的抽象方法public abstract void want;(我可以把它理解为是他们子类公有的方法,每个Student和woker都有他们想要的东西!)

    归纳:

    1.抽象类不能被实例化。

    2.抽象类不一定包含抽象方法,但是如果一个类中包含了抽象方法,则该类必须被定义为抽象类。

    3.抽象类必须被继承。

    4.抽象方法必须被重写。

    总而言之,抽象类不能直接实例化,要通过其子类进行实例化。

  • 相关阅读:
    NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
    iOS项目开发需要导进的常用第三方库
    iOS---防止UIButton重复点击的三种实现方式
    Xcode9 不使用数据线真机调试
    修改Xcode新建类的注释模板(作者,公司名等)
    【源码】tableView刷新指定的cell 或section和滚动到指定的位置
    【源码】tableViewcell页码
    ios如何在一个控制器中添加另一个控制器
    把本地项目提交到coding上
    deinit
  • 原文地址:https://www.cnblogs.com/Timenow/p/6848326.html
Copyright © 2020-2023  润新知