• 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:继承的进一步研究


    class Person{                    // 定义Person类
        private String name ;        // 定义name属性
        private int age ;            // 定义age属性
        public Person(){
            System.out.println("父类Person中的构造。") ;
        }
        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 ;
        }
    };
    class Student extends Person{                    // 定义Student类
        private String school ;        // 定义school属性
        public Student(){
            super() ;    // 默认隐藏
            System.out.println("子类Student中的构造。") ;
        }
        public void setSchool(String school){
            this.school = school ;
        }
        public String getSchool(){
            return this.school ;
        }
    
    };
    public class InstanceDemo{
        public static void main(String arsg[]){
            Student stu = new Student()    ;// 实例化子类对象
            stu.setName("张三") ;    // 此方法在Student类中没有明确定义
            stu.setAge(30) ;
            stu.setSchool("清华大学") ;
            System.out.println("姓名:" + stu.getName() + ",年龄:" + stu.getAge() + ",学校:" + stu.getSchool() ) ;
        }
    };
    class Person{        // 定义父类
        void print(){    // 默认的访问权限
            System.out.println("Person --> void print()。") ;
        }
    };
    class Student extends Person{    // 定义继承关系
        public void print(){
            System.out.println("Student --> void print()。") ;
        }
    };
    public class OverrideDemo01{
        public static void main(String args[]){
            Student s = new Student() ;
            s.print() ;
        }
    };
    class Person{        // 定义父类
        public void print(){    // 默认的访问权限
            System.out.println("Person --> void print()。") ;
        }
    };
    class Student extends Person{    // 定义继承关系
        void print(){    // 错误的,降低了访问权限
            System.out.println("Student --> void print()。") ;
        }
    };
    class Person{        // 定义父类
        void print(){    // 默认的访问权限
            System.out.println("Person --> void print()。") ;
        }
    };
    class Student extends Person{    // 定义继承关系
        public void print(){
            super.print() ;    // 访问父类中被子类覆写过的方法
            System.out.println("Student --> void print()。") ;
        }
    };
    public class OverrideDemo03{
        public static void main(String args[]){
            Student s = new Student() ;
            s.print() ;
        }
    };
    class Person{        // 定义父类
        private void print(){    // 默认的访问权限
            System.out.println("Person --> void print()。") ;
        }
        public void fun(){    // 定义一个fun方法
            this.print() ;    // 调用print()方法
        }
    };
    class Student extends Person{    // 定义继承关系
        void print(){    // 覆写父类中的方法
            // super.print() ;    // 访问父类中被子类覆写过的方法
            System.out.println("Student --> void print()。") ;
        }
    };
    public class OverrideDemo04{
        public static void main(String args[]){
            Student s = new Student() ;
            s.fun() ;
        }
    };
    class Person{        // 定义父类
        public String info = "MLDN" ;    // 定义一个公共属性
    };
    class Student extends Person{    // 定义继承关系
        public String info = "LXH" ;    // 定义了一个与父类中属性名称一致的属性
        void print(){    // 覆写父类中的方法
            System.out.println("父类中的属性:" + super.info) ;
            System.out.println("子类中的属性:" + this.info) ;
        }
    };
    public class OverrideDemo05{
        public static void main(String args[]){
            Student s = new Student() ;
            s.print() ;
        }
    };
    class Person{                    // 定义Person类
        private String name ;        // 定义name属性
        private int age ;            // 定义age属性
        public Person(String name,int age){
            this.setName(name) ;
            this.setAge(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 String getInfo(){
            return "姓名:" + this.getName() + ";年龄:" + this.getAge() ;
        }
    };
    class Student extends Person{                    // 定义Student类
        private String school ;        // 定义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.getInfo() + ";学校:" + this.getSchool() ;
        } 
    
    };
    public class SuperDemo01{
        public static void main(String arsg[]){
            Student stu = new Student("张三",30,"清华大学")    ;// 实例化子类对象
            System.out.println(stu.getInfo()) ;
        }
    };
    class Person{                    // 定义Person类
        private String name ;        // 定义name属性
        private int age ;            // 定义age属性
        public Person(String name,int age){
            this.name = name ;
            this.age = age ;
        }
    };
    class Student extends Person{                    // 定义Student类
        private String school ;        // 定义school属性
        public Student(){
            // this("LXH",30,"MLDN") ;
            // 会在此处调用父类的构造,默认调用的是无参
        }
        public Student(String name,int age){
            this() ;
        }
        public Student(String name,int age,String school){
            this(name,age) ;    // 明确调用父类中有两个参数的构造
            this.school = school ;
        }
    };
    public class SuperDemo02{
        public static void main(String arsg[]){
            Student stu = new Student("张三",30,"清华大学")    ;// 实例化子类对象
            System.out.println(stu.getInfo()) ;
        }
    };
  • 相关阅读:
    Java GUI图形界面开发工具
    python操作MySQL数据库
    国外五大股票交易系统及其源码
    五个抄底摸高的交易系统和源代码
    海龟交易系统源码
    模式识别话题
    几种常见模式识别算法整理和总结
    比较好的开源人脸识别软件
    利用开源程序(ImageMagick+tesseract-ocr)实现图像验证码识别
    JSONObject与JSONArray的使用
  • 原文地址:https://www.cnblogs.com/tszr/p/12152995.html
Copyright © 2020-2023  润新知