• 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:抽象类的基本实现


    abstract class A{    // 是定义了一个抽象类
        public static final String FLAG = "CHINA" ;    // 全局常量
        private String name = "李兴华" ;    // 定义一个普通的属性
        public void setName(String name){
            this.name = name ;
        }
        public String getName(){
            return this.name ;
        }
        public abstract void print() ;        // 定义抽象方法
    };
    abstract class A{    // 是定义了一个抽象类
        public static final String FLAG = "CHINA" ;    // 全局常量
        private String name = "李兴华" ;    // 定义一个普通的属性
        public void setName(String name){
            this.name = name ;
        }
        public String getName(){
            return this.name ;
        }
        public abstract void print() ;        // 定义抽象方法
    };
    class B extends A{    // 继承抽象类,因为B是普通类,所以必须覆写全部抽象方法
        public void print(){
            System.out.println("FLAG = " + FLAG) ;
            System.out.println("姓名 = " + super.getName()) ;
        }
    };
    public class AbstractDemo02{
        public static void main(String args[]){
            B b = new B() ;
            b.print() ;
        }
    };
    abstract class A{    // 是定义了一个抽象类
        public A(){
            System.out.println("A、抽象类中的构造方法。") ;
        }
    };
    class B extends A{    // 继承抽象类,因为B是普通类,所以必须覆写全部抽象方法
        public B(){
            super() ;
            System.out.println("B、子类中的构造方法。") ;
        }
    };
    public class AbstractDemo03{
        public static void main(String args[]){
            B b = new B() ;
        }
    };
    abstract class Person{
        private String name ;        // 定义name属性
        private int age ;            // 定义age属性
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
        public void setName(String name){
            this.name = name ;
        }
        public void setAge(int age){
            this.age = age ;
        }
        public String getName(){
            return this.name ;
        }
        public int getAge(){
            return this.age ;
        }
        public abstract String getInfo() ;    // 抽象方法
    };
    class Student extends Person{
        private String school ;
        public Student(String name,int age,String school){
            super(name,age) ;    // 指定要调用抽象类中有两个参数的构造方法
            this.school = school ;
        }
        public void setSchool(String school){
            this.school = school ;
        }
        public String getSchool(){
            return this.school ;
        }
        public String getInfo(){
            return    "姓名:" + super.getName()  + 
                    ";年龄:" + super.getAge() + 
                    ";学校:" + this.getSchool() ;
        }
    };
    public class AbstractDemo04{
        public static void main(String args[]){
            Student stu = new Student("张三",30,"清华大学") ;
            System.out.println(stu.getInfo()) ;
        }
    };
    final abstract class A{
    };
  • 相关阅读:
    【Python】小练习
    【C语言】利用二维数组输出成绩
    【C语言】多维数组
    【C语言】输入一个字符串,并对字符串中的偶数位置的字符按从小到大的顺序排序,奇数位置的字符不动,输出排序后的结果
    【C语言】一堆数组中存放了10个小于100的整数,请编程对所有数据按照从小到大的顺序进行排序,若个位数相等,则按照十位从小到大的顺序排序,输出排序后的结果
    【C语言】移动指针
    Python中68个内置函数的总结
    【Python】变量命名习惯
    【Python】 基础语法
    【Python】 注释
  • 原文地址:https://www.cnblogs.com/tszr/p/12153003.html
Copyright © 2020-2023  润新知