百木园-与人分享,
就是让自己快乐。

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();
}

}



来源:https://www.cnblogs.com/tomn/p/16240548.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Day13

相关推荐

  • 暂无文章