面向对象基本练习

 

定义一个父类和一个子类,父类中包含姓名和年龄的属性,子类中包含学号属性。并在一个启动类中赋值并输出,思考在构造时,是父类先构造还是子类先构造。

 

1.定义父类

 public class Peopel {           //首先我们初始化一个类
     private String name;        //私有定义他的名字和年龄
     private int age;            //这样可以不和其他类混淆调用
     public Peopel(){            //显示定义一个构造函数(构造函数名要与类名一致,用于对象实例化时的构造)
         System.out.println("father");
    }
 
     public void setName (String name){
         this.name = name;
    }       //定义类中的方法(命名注意驼峰原则)
     public String getName(){
         return this.name;
    }               //this.name等,这样可以明确指向本类中的name,而不是其他可能存在的类中的name
     public void setAge(int age){
         this.age = age;
    }           //set与get是写入和输出的意思
     public int getage(){
         return this.age;
    }                  //可以通过 Alt+Ins 快捷键输入
 
 
 }
 
 

 

 

2.定义子类

 public class Student extends Peopel{        //定义一个Student类,并继承Peopel类
     public Student(){           //显示定义一个构造函数,与父类中的对应
         System.out.println("son");
    }
 
     private long number;        //定义一个私有的学号属性
 
     public void setNumber(long number){         //一样的set amd get
         this.number = number;
    }
 
     public long getNumber() {
         return number;
    }
 }
 

 

3.定义启动类

 package com.wt.www.oop;
 
 public class Application {      //主类,用于执行主函数以及测试
     public static void main(String[] args) {
         Student lh = new Student();     //对象实例化
 
         lh.setName("李华");   //调用Student的父类的方法
                             //这里用到的方法是 对象.方法名
         lh.setAge(21);
 
         lh.setNumber(18202140403L);     //调用Student本身的方法 //因为是long类型,所以数据后面需要加L
 
         System.out.print("学生姓名:");      //输出结果
         System.out.println(lh.getName());  //这里用到的方法也是 对象.方法名
                                               // 这样才能调用到类中的方法
         System.out.print("学生年龄:");
         System.out.println(lh.getage());
 
         System.out.print("学生学号:");
         System.out.println(lh.getNumber());
 
    }
 }
 

 

 

运行结果是

 

我们发现,father和son都在程序运行之前都输出了,说明构造函数在对象实例化的时候就已经运行,并且是父类构造优先于子类。

 

 

 

posted @ 2021-10-14 23:54  天sir  阅读(187)  评论(0)    收藏  举报