构造器;this关键字;static关键字
构造器:
构造器是一个特殊的方法;
构造器的作用:为对象初始化信息的,不是创建对象
使用:跟随new一起使用
定义:
修饰符 类名(参数列表){ .... }
构造器的定义不需要返回值类型|void
构造器的名字必须与类名保持一致
可以使用return,结束方法,方法可以重载,构造器也具有重载的特性,因为构造器是个特殊的方法。
注意:
1.如果没有显示定义任何构造器,编译器会为你默认提供一个空构造(没有参数的构造器)
2.如果有显示定义的构造器,编译器不会再为你提供任何构造器了
—————————————————————————————————————————————————————————————————————————————————————————————————————————
(增)构造方法的作用和特征
构造方法的特点:
1:方法名称和类同名
2:不用定义返回值类型
3:不可以写retrun语句
4:构造方法可以被重载
作用:给对象那个初始化构造方法的细节:当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。当在类中自定义构造方法之后,默认的无参构造方法消失(如果需要无参构造方法需要手动添加)
1、构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带返回值。
2、构造函数的功能主要用于在类的对象创建定义时 初始化的状态。构造函数没有返回值,也不能用void来修饰,这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值。即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让普通方法自动返回些东西,而这些就会不安全。3、构造函数不能直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它时就会被调用。
4、当定义一个类的时候,通常情况下都会显示该类的构造函数,并且在函数中指定初始化的工作也可以省略,不过java编译器会提供一个默认的构造函数,此默认构造函数是不带参数的,而一般方法不存在这一特点。
原文链接:https://blog.csdn.net/HLWLL/article/details/79762533
—————————————————————————————————————————————————————————————————————————————————————————————————————————
This关键词:
this关键字的作用和用法:
作用:1. this存储对象的地址2. 如果出现同名变量的问题,想要指代成员变量必须使用this
用法:在构造器中,this指代当前new的对象,动态的执行不同的对象,必须用在构造器首行才可以,构造器之间不能相互调用
例:
class cat(){
public String name;
public String type;
public String color;
public Cat(String name){
System.out.println(name);
this.name=name;
}
public Cat(String name,String type){
this.name=name;
this.type=type;
}
}
这里的this都指在cat这个类里。
Static 关键词:方便在没有创建对象的情况下来进行调用(方法/变量)
Static是一个静态的,是一个成员修饰符,只能修饰成员,不能修饰局部
修饰变量: 静态变量|类变量 修饰方法: 静态方法|类方法
static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用。
静态内容的使用方式:
1.对象使用——引用名.静态变量名和引用名.静态方法名()
2.通过类名使用——类名.静态变量名和类名.静态方法名()
成员都是属于对象的,静态的内容是属于类的,静态的变量在静态区中存在,是独一份的,所有对象共享的资源,在类第一次加载之后就初始化了;
成员的变量在对象的内存空间中,跟随对象存在的,有一个对象就有一份成员;
this不能在static修饰的方法中使用——why——静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。因此在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
静态的内容中只能直接使用静态的内容,不能直接使用成员的内容,但是可以通过对象使用;
关于Static其他资料:https://blog.csdn.net/zy2317878/article/details/82353976

浙公网安备 33010602011771号