luyantl 发表于 2018-8-31 23:55:59

JavaDemo_0831

class Person
{
        private        String name;
        private String addr;
        private char sex;
        private int age;
        public Person(){}
        public Person(String name,char sex)
        {
                this.name=name;
                this.sex=sex;
        }
        public Person(String name,String addr,char sex,int age)
        {
                this(name,sex);                        //调用方法时,方法内不写类型
                this.addr=addr;
                this.age=age;
        }
        //四个变量的setter、getter方法略
        public String getInfo()
        {
                return "name="+this.name+" addr="+this.addr+" sex="+this.sex+" age="+this.age;
        }
}
class Student extends Person
{
        private double math;
        private double english;
        public Student(){}
        public Student(double math,double english)
        {
                this.english=english;
                this.math=math;
        }
        public Student(String name,String addr,char sex,int age,double math,double english)
        {
                super(name,addr,sex,age);
                this.math=math;
                this.english=english;
        }
        //变量的setter、getter方法略
        public String getInfo()                        //getInfo()方法的覆写/重写
        {
                return super.getInfo() + " math=" +this.math +" english="+this.english;
        }
}

public class JavaDemo_0831_2341
{
        public static void main(String[] args)
        {
                Student student=new Student("张三","北京",'男',18,99L,92L);
                System.out.println(student.getInfo());
        }
}

luyantl 发表于 2018-9-1 00:03:38

//子类不能通过super.name=name的方式调用父类的private name变量
页: [1]
查看完整版本: JavaDemo_0831