内存分析
package oop.demo01.demo01.demo02; import oop.demo01.demo01.demo04.Pet; //一个项目应该只存一个main方法 public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name = "旺财"; dog.age = 3; dog.shout(); System.out.println(dog.name); System.out.println(dog.age); } }package oop.demo01.demo01.demo04; public class Pet { public String name; public int age; public void shout(){ System.out.println("叫了一声"); } }封装
package oop.demo01.demo01.demo02; import oop.demo01.demo01.demo04.Pet; import oop.demo01.demo01.demo05.Student; //一个项目应该只存一个main方法 public class Application { public static void main(String[] args) { Student s1 = new Student(); s1.setName("cql"); System.out.println(s1.getName()); s1.setAge(999); System.out.println(s1.getAge()); } }package oop.demo01.demo01.demo05; //封装:属性私有 get/set private:私有 public class Student { // private String name; private int id; private char sex; private int age; //提供一些可以操作这个属性的方法 //提供一些public的get,set方法 //get 获得这个数据 public String getName(){ return this.name; } //set 给这个数据赋值 public void setName(String name){ this.name=name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { if (age>120||age<0) { this.age=3; }else { this.age = age; } } }继承
extends的意思是扩展。子类是父类的扩展,一个儿子只有一个爸爸,一个爸爸可以有多个儿子
package oop.demo01.demo01.demo06; //父类 //在java中,所有的类,都默认直接或间接继承object //子类继承了父类,就会拥有父类的全部方法 public class Person { private int money = 10000; public void say(){ System.out.println("说话"); } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }package oop.demo01.demo01.demo06; //子类 public class Teacher extends Person{ }super注意点
super调用父类的构造方法,必须在构造方法的第一行
super只能出现在子类的方法或者构造方法中
super和this不能同时调用构造方法
package oop.demo01.demo01.demo06; //子类 public class Teacher extends Person{ //隐藏代码:调用了父类的无参构造 public Teacher() { super();//必须放在第一行 System.out.println("Teacher无参执行了"); } private String name = "ag"; public void print(){ System.out.println("teacher"); } public void test1() { print(); this.print(); super.print(); } public void test(String name){ System.out.println(name); System.out.println(this.name); System.out.println(super.name); } }package oop.demo01.demo01.demo06; //父类 //在java中,所有的类,都默认直接或间接继承object //子类继承了父类,就会拥有父类的全部方法 public class Person { public Person(){ System.out.println("Person无参执行了"); } protected String name = "cql"; public void print(){ System.out.println("Person"); } }