Day13

package com.oop.demo05;
//在java中所有的类都直接或者间接默认继承object
//人 父类
public class Person {
//public 公有的
//protected 受保护的
//default 默认的
//private 私有的
//private int money=10_0000_0000;
protected String name="Tom";

public Person() {
System.out.println("Person无参执行了");
}

//私有的东西无法被继承
public void print(){
System.out.println("Person");
}


/*public int getMoney() {
return money;
}

public void setMoney(int money) {
this.money = money;
}

public void say(){
System.out.println("说了一句话");
}

*/
}




package com.oop.demo05;
//学生 is 人 子类
//子类继承了父类就会拥有父类的全部方法,私有的方法以及成员变量无法继承
public class Student extends Person{
String name="Marry";
public Student() {
//隐藏代码:默认调用了父类的无参构造
super();//调用父类的构造器必须要在子类构造器的第一行
//this(name:"hello");
System.out.println("Student无参构造执行");
}

public Student(String name) {
this.name = name;
}

public void test1(String name){
print();
this.print();
super.print();
}
public void print(){
System.out.println("Student");
}
public void test(String name){
System.out.println(name);//zhangsan
System.out.println(this.name);//Marry
System.out.println(super.name);//Tom
}
}


package com.oop.demo05;
//继承
public class A extends B{
//重写
@Override//注解,有功能的注释
public void test() {
System.out.println("A=>test()");
}
}


package com.oop.demo05;
//重写都是方法的重写与属性无关
public class B {
public void test(){
System.out.println("B=>test()");
}
}


package com.oop.demo05;

import com.oop.demo05.Student;

public class Application {
//静态方法和非静态方法区别很大
//静态方法,方法的调用只跟左边定义的数据类型有关
public static void main(String[] args) {

Student student=new Student();



//student.say();
//System.out.println(student.getMoney());
//student.test1("zhangsan");


//方法的调用只跟左边定义的数据类型有关
//非静态:重写
A a=new A();//A
a.test();
//父类的引用指向子类
B b=new A();//子类重写了父类的方法
b.test();
}

}


hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Day13