构造器方法详解_构造方法重塑:
构造器也叫构造方法(constructor),用于对象的初始化
要点:1.通过new关键字调用!!
2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
3.如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已经定义则编译器不好自动添加!
4.构造器的方法名必须与类名一致!
构造器也叫构造方法(constructor),用于对象的初始化
要点:1.通过new关键字调用!!
2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
3.如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已经定义则编译器不好自动添加!
4.构造器的方法名必须与类名一致!
public class User {
int id; // id (成员变量)
String name;//账号 (成员变量)
String pwd;//密码 ( 成员变量)
public User(){ //构造方法,此为内部自动构造的,
}
public User(int id ,String name){//构造方法,有参 (里面为局部变量)
super(); //需要记住,构造方法的第一步总是super()。系统编译器会自动添加
this.id=id; //this表示创建好的对象(成员对象),可用来区别成员变量和局部变量
this.name=name;
this.pwd= pwd;
}
public User(int id , String name ,String pwd){
}
public static void main(String[] args) {
User u1 = new User(); //main方法中,用User类创建对象;
User u2 = new User(101,"邹小七"); //u1,u2,u3 为对象;
User u3 = new User(100,"邹奇方","123456");
}
}
垃圾回收机制(Garbage Collection) 仅仅了解即可
发现垃圾
回收垃圾
int id; // id (成员变量)
String name;//账号 (成员变量)
String pwd;//密码 ( 成员变量)
public User(){ //构造方法,此为内部自动构造的,
}
public User(int id ,String name){//构造方法,有参 (里面为局部变量)
super(); //需要记住,构造方法的第一步总是super()。系统编译器会自动添加
this.id=id; //this表示创建好的对象(成员对象),可用来区别成员变量和局部变量
this.name=name;
this.pwd= pwd;
}
public User(int id , String name ,String pwd){
}
public static void main(String[] args) {
User u1 = new User(); //main方法中,用User类创建对象;
User u2 = new User(101,"邹小七"); //u1,u2,u3 为对象;
User u3 = new User(100,"邹奇方","123456");
}
}
垃圾回收机制(Garbage Collection) 仅仅了解即可
发现垃圾
回收垃圾
对象创建的过程和this 的本质
创建一个对象分为如下四步:
1.分配对象空间,并将对象成员变量初始化为0或空
2.执行属性值的显示初始化
3.执行构造方法
4.返回对象的地址给相关的变量
this的本质就是“创建好的对象的地址”,由于在构造方法调用前,对象已经创建,因此,在构造方法中也可以使用this代表“当前对象”。
this不能在static在用
static关键字 表示静态 在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。
public class User{
int id;
String name;
String pwd;
static String company = "北京尚学堂";
public User(int id,String name){
this.id=id;
this.name=name;
}
public int getId(){
return id ;
}
public String getName(){
return name;
}
public void login(){
System.out.println("登录:"+name);
}
public static void printCompany(){
//login():(调用非静态成员,编译就会报错)
System.out.println(company);
}
public static void main(String[] args){
User u = new User(24,"邹奇方");//创建对象并赋值
System.out.println(u.getId()+" "+u.getName());
User.printCompany();//调用方法
User.company="北京阿里爷爷";//
User.printCompany();
}
}
F11 24 邹奇方
北京尚学堂
//北京阿里爷爷
创建一个对象分为如下四步:
1.分配对象空间,并将对象成员变量初始化为0或空
2.执行属性值的显示初始化
3.执行构造方法
4.返回对象的地址给相关的变量
this的本质就是“创建好的对象的地址”,由于在构造方法调用前,对象已经创建,因此,在构造方法中也可以使用this代表“当前对象”。
this不能在static在用
static关键字 表示静态 在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。
public class User{
int id;
String name;
String pwd;
static String company = "北京尚学堂";
public User(int id,String name){
this.id=id;
this.name=name;
}
public int getId(){
return id ;
}
public String getName(){
return name;
}
public void login(){
System.out.println("登录:"+name);
}
public static void printCompany(){
//login():(调用非静态成员,编译就会报错)
System.out.println(company);
}
public static void main(String[] args){
User u = new User(24,"邹奇方");//创建对象并赋值
System.out.println(u.getId()+" "+u.getName());
User.printCompany();//调用方法
User.company="北京阿里爷爷";//
User.printCompany();
}
}
F11 24 邹奇方
北京尚学堂
//北京阿里爷爷