java入口
//人的一天
class Person {
private String personName;//private私有方法,实例无法访问
String personName2;//相当于 prototype原型属性
//java可以有多个构造方法
public Person() {//相当于 Person的constructor , 构造方法无需设置返回类型
//如果没有声明构造方法,会默认生成一个 无参构造方法
//如果声明了构造方法,无论有参/无参,系统都不会再自动添加无参的构造方法 --> 所以此时,如果没有声明无参构造方法,子类extends时会报错
}
public Person(String personName) {//相当于 Person的constructor , 构造方法无需设置返回类型
this.personName = this.personName2 = personName;
}
public void start() {//相当于 prototype原型方法
eat();
play();
sleep();
}
//private私有方法,实例无法访问
private void eat() {//返回类型为空 --> void
System.out.println("eat");
}
private String play() {//返回类型为String --> String
System.out.println("play");
return "String";
}
private Number sleep() {//返回类型为Number --> Number
System.out.println("sleep");
return 15951397;
}
//展示一下方法重载
public Number plus() {
return 0;
}
public Number plus(String str) {
return 1;
}
public Number plus(Number num) {
return 2;
}
}
public class Aday extends Person {//继承Person类
public Aday(String personName) {
super(personName);//分发参数给父类
}
//重写start方法
public void start() {
System.out.println("strat by Aday.class");
super.start();//此时可以使用super.start(),访问父类中的start方法
}
//Aday.java文件的入口,main方法
public static void main(String[] args) {
Person daniao = new Aday("daniao");
Person dagou = new Aday("dagou");
daniao.start();
dagou.start();
System.out.println("--------------------------------------------------");
System.out.println(daniao.personName2);
System.out.println(dagou.personName2);
System.out.println("--------------------------------------------------");
System.out.println(daniao.plus());
System.out.println(daniao.plus("1"));
System.out.println(daniao.plus(1));
}
}