Java构造器与继承

1、java中的构造函数用于初始化当前类对象,除了接口类,每一个类都有自己默认的构造方法。在创建对象是,构造方法会在内存中寻找可用的堆空间,然后将当前类所有属性和方法预先备份一份。构造方法形式上看似没有返回类型,其实是有返回值的,它返回是内存地址。

Public 类名(){}

创建对象是执行构造方法:

public class Student{
public static void main(String[] args){
Student stu=new Student();
System.out.println("创建了一个学生对象")
}
}

运行结果:创建了一个学生对象

内存存储机制:

硬盘(持久化文件数据)

内存(正在运行的程序数据)

缓存(屏幕展示数据)

public class Student{
public static void main(String[] args){
Student stu1=new Student();
Student stu2=new Student();
stu1.name="小红";
stu2.name="小绿";
stu1=stu2;
stu2.name="小蓝";
System.out.println(stu1.name);
System.out.println("stu2.name");
}
}

运行结果:

 小蓝

 小蓝

 

方法的重载:同一个类中,有多个方法名相同,但参数列表(类型、参数个数、参数顺序)不同的函数方法。它的作用体现于执行同名方法表现不同的执行过程。需要留意的是它的返回类型并没有约束,可以随意改变。构造函数的重载还休要注意,如果重载了构造函数,又要想显示构造函数,就得显性的定义出来。

public Student(){} 
public Student(String s){}
public void add(){int a,int b}
public int add(){float a,float b}

 

2、类与类的继承关系主要体现与代买的重用,减少代码的冗余。它是指利用现有的类创建新的类,并共享现有类的属性和方法,现有类称为父类,新类成为子类。

Public class子类类名 extends 父类类名{}

继承的特性:层次性、单继承性、代码重用性

方法重写:子类继承父类,子类定义一个和父类方法名相同、参数列表相同、返回类型相同的方法。

自动转型:子类的对象自动转型为父类的对象(如果转型后的对象调用方法,这个方法如果在子类重写了,则执行的是重写后的方法,否则,调用的父类的方法)

 

多态:多个同一个类型的对象,调用通过一个方法,执行过程不一样

子类:

public class A extends B{
public void f(){
System.out.println("执行了A类的f方法");
}


 }

父类:

public class B {
public void f(){
System.out.println("执行B类的f方法");
}


 }

测试类:

public class Test {
 public static void main(String[] args) {
B c1=new A();
B c2=new B();
c1.f();
c2.f();
 }
 }

运行结果:

执行了A类的f方法
执行B类的f方法