主函数与构造函数区别?
区别还是很大的
主函数
1、public (访问修饰符,公共的)代表该类或者还函数访问权限是最大的
2、static 代表主函数随着类的加载就已经存在了
3、void 代表主函数没有具体的返回值
4、main main不是java中的关键字,它是一个特殊的单词,它能被JVM(java虚拟机)所识别
5、String[] args 函数的参数,参数类型是一个字符串数组,该数组的元素是字符串
静态应用工具类
每一个应用程序都有共性的功能,可以将这些功能进行抽取,独立封装,以使复用
对象的作用:对象是用来封装数据的,只要这个类里面有非静态的成员时,那对象就必须存在
静态代码块
格式:
static{
静态代码块执行语句
}
特点:随着类的加载而执行,并且只会执行一次,并且还优先于主函数。
作用:用于给类进行初始化
构造函数
构造函数之间的调用
this:看上去用来区分成员变量和局部变量同名的情况
this:就是代表本类的对象,this代表它所在函数(方法)所属对象的引用
构造函数之间的调用只能通过this语句来完成
构造函数之间的调用时,this语句只能出现在第一行
代码块如下:
public class Test{
public static void main(String[] args){
Student a=new Student("小李");
}
}
class Student{
private String name;
Student(){
System.out.println("我是无参构造方法");
}
Student(String name){
this();//调用的就是上面的无参构造方法
this.name=name;
System.out.println("我是有参构造方法");
}
}
构造代码块
特点:对象一建立就运行了,而且优先于构造函数执行
作用:给对象进行初始化的
构造代码块和构造方法的区别:
构造方法是给对应的对象进行初始化,构造代码块是给所有的对象进行统一的初始化
构造代码块中定义是不同对象共性的初始化内容
public class Test{
public static void main(String[] args){
Student a=new Student("小李");
}
}
class Student{
private String name;
Student(){
System.out.println("我是无参构造方法");
}
Student(String name){
this.name=name;
System.out.println("我是有参构造方法");
}
{
System.out.println("我是构造代码块")
}
}