java基础(2)-面向对象(2)
构造方法
构造方法特点
- 方法名与类名相同
- 方法名前没有返回值类型的声明(void也没有)
- 方法中不能使用return语句返回一个值
- 创建对象时自动调用并执行
- 如果类中没有自定义构造方法,则java调用类的默认构造方法,将使用默认值来初始化成员变量
构造方法与一般方法区别
- 格式
构造方法和类名相同,并且无返回类型,无返回值
一般方法可任意起名,必须有返回类型,可无返回值 - 调用
构造方法在对象一建立就调用,给对象初始化
一般方法时对对象的调用才执行 - 运行次数
一个对象建立,构造方法只能运行一次
一般方法可被该对象调用多次 - 作用
构造方法用于创建对象,并进行初始化
一般方法时用于完成特定功能的
构造方法的重载
在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可
构造方法的类型
- 有参构造方法
- 无参构造方法
class Persion{
private String name;
private int age;
Persion(){
System.out.println("a:name="+name+",age="+age);
}
Persion(String n){
name = n;
System.out.println("b:name="+name+",age="+age);
}
Persion(String n,int a){
name = n;
age = a;
System.out.println("c:name="+name+",age="+age);
}
}
public class PersionDemo2{
public static void main(String[] args){
Persion p1 = new Persion(); //调用无参构造方法
Persion p2 = new Persion("wujiadong"); //调用一个参数的构造方法
Persion p3 = new Persion("wujiadong",24); //调用两个参构造方法
}
}
/*
输出结果:
a:name=null,age=0
b:name=wujiadong,age=0
c:name=wujiadong,age=24
*/
注意
- 为了方法实例化,构造方法一般使用public来修饰
- 在java中每个类至少有一个构造方法,若没有定义构造方法,系统会自动为该类创建一个默认的空的构造方法
构造代码块
- 作用
给对象进行初始化,对象一建立就执行,而且优先于构造函数执行 - 构造代码块和构造函数的区别
构造代码块是给所有不同对象的共性进行统一初始化
构造函数是给对应的对象进行初始化
主函数
主函数:是一个特殊的函数,作为程序的入口,可以被jvm调用
主函数的定义:
public:代表着该函数被范围权限是最大的
static:代表主函数随着类的加载就已经存在了
void:主函数没有具体的返回值
main:不是关键字,一个特殊的单词,可以被jvm识别
String[] args: 函数的参数,参数类型是数组,该数组的元素师字符串。字符串类型的数组