(一)构造器(构造函数/构造方法)
构造方法:构造对象的行为
格式: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方法");
}
}