构建器的目的是为了每个对象都会得到正确的初始化
新建一个构造器需要:
(1).构造器必须与类同名
(2).每个类可以有一个以上的构造器
(3).构造器没有返回值
(4).构造器总是伴随着new操作一起调用
(5).使用super调用父类构造器的语句必须是子类构造器的第一条语句
package com.first; public class SimpleConstructor { public SimpleConstructor(){ System.out.println("调用了无参的构造函数"); } public SimpleConstructor(String mess){ System.out.println("调用了有参的构造函数\n"+ "参数内容为:"+mess); } }
super:
public class A{ public A(){ System.out.println("调用了A的无参构造函数"); } public A(String mess){ System.out.println("调用了A的有参的构造函数\n"+ "参数内容为:"+mess); } } public class B extends A{ public B(){ System.out.println("调用了B的无参构造函数"); } public B(String mess){ super(mess); System.out.println("调用了B的有参构造函数\n"+ "参数内容为:"+mess); } }
方法过载:
在一个类中存在多个名字相同的方法的情况称为方法重载,重载方法参数列表必须不同
需要与方法覆盖相区别
class Tree { height; Tree() { prt("Planting a seedling"); height = 0; } Tree(int i) { prt("Creating new Tree that is " + i + " feet tall"); height = i; } void info() { prt("Tree is " + height + " feet tall"); } void info(String s) { prt(s + ": Tree is " + height + " feet tall"); } static void prt(String s) { System.out.println(s); } }
垃圾收集:
finialize()