(一)构造器(构造函数/构造方法)
构造方法:构造对象的行为
格式:public 类名(参数列表){}
注意:任何一个类,都会有一个不显性定义出来的方法(构造方法)
构造方法有没有返回值?有,返回内存地址
变量存储的是:对象在堆空间存储的地址
变量的赋值:引用传递或者地址传递
public class Test { public static void main(String[] args) { Student stu = new Student(); Student stu1 = new Student(); stu.name = "张三"; stu1.name = "李四"; stu = stu1; stu.name = "王五"; stu = new Student(); stu1 = stu; System.out.println(stu.name); System.out.println(stu1.name); int a; a = 10; System.out.println(a) } }
(二)方法重载
定义:同一类中,定义方法名相同,参数列表不同
参数列表不同:类型,顺序,数量不同
public class Teacher { public Teacher(){ } public Teacher(int a){ } public Teacher(String b){ } public void teach(){ System.out.println("教学方法1"); } public void teach(int a){ System.out.println("教学方法2"); } public void teach(String a){ System.out.println("教学方法3"); } public void teach(int a,String b){ System.out.println("教学方法4"); } public void teach(String a,int b){ System.out.println("教学方法5"); } }(三)
一、继承关系
继承:父子类之间的继承关系(子类继承父类的非私有属性和方法,构造方法不能被继承)
格式:建立继承关系的语法:public class 子类类名 extends 父类类名{}
注意:继承是单继承(一个子类只能有一个直接的父类),可以多层继承
public class A extends C{ public void t(int a){ System.out.println("A类的t方法"); } }
public class B extends A{ }
public class A extends C{ public void t(int a){ System.out.println("A类的t方法"); }
(四)方法重写定义:子类重写父类的方法,方法名、参数类型、返回类型必须和父类一致
public class A extends C{ public void t(int a){ System.out.println("A类的t方法"); } }
public class A extends C{ public void t(int a){ System.out.println("A类的t方法"); } }