ToB企服应用市场:ToB评测及商务社交产业平台
标题:
面向对象ooDay2
[打印本页]
作者:
曹旭辉
时间:
2022-9-16 17:14
标题:
面向对象ooDay2
精华笔记:
构造方法:构造函数、构造器、构建器-----------------------复用给成员变量赋初值的代码
作用:给成员变量赋初值
与类同名,没有返回值类型(连void都没有)
在创建(new)对象时被自动调用
若自己不写构造方法,编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
构造方法可以重载
this:指代当前对象,哪个对象调用方法它指的就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this.
this的用法:
this.成员变量名---------------------------访问成员变量
当成员变量与局部变量同名时,若想访问成员变量,则this不能省略
this.方法名()--------------------------------调用方法(一般不用)
this()------------------------------------------调用构造方法(一般不用)
null:表示空,没有指向任何对象。
若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空指针异常。
笔记:
构造方法:构造函数、构造器、构建器-----------------------复用给成员变量赋初值的代码
作用:给成员变量赋初值
与类同名,没有返回值类型(连void都没有)
在创建(new)对象时被自动调用
若自己不写构造方法,编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
构造方法可以重载
public class Student {
String name; //成员变量(整个类中)
int age;
String address;
//给成员变量赋初值
Student(String name,int age,String address){ //局部变量(当前方法中)
this.name = name;
this.age = age;
this.address = address;
}
void sayHi(){
System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);
}
}
public class ConsDemo {
public static void main(String[] args) {
//Student zs = new Student(); //编译错误,Student类没有无参构造方法
Student zs = new Student("zhangsan",25,"LF");
zs.sayHi();
Student ls = new Student("lisi",24,"JMS");
ls.sayHi();
}
}
复制代码
this:指代当前对象,哪个对象调用方法它指的就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this.
this的用法:
this.成员变量名---------------------------访问成员变量
当成员变量与局部变量同名时,若想访问成员变量,则this不能省略
this.方法名()--------------------------------调用方法(一般不用)
this()------------------------------------------调用构造方法(一般不用)
null:表示空,没有指向任何对象。
若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空指针异常。
补充:
java规定:成员变量和局部变量是可以同名的,使用的时候默认采取的是就近原则
构造方法到底要不要参数,要看对象的数据能不能写死
如果对象的数据都一样,意味着可以写死,就不需要传参。
如果对象的数据都不一样,意味着不能写死,那就需要传参。
内存管理:由JVM来管理的
堆:new出来的对象(包括成员变量)
栈:局部变量(包括方法的参数)
方法区:--------------面向对象第5天再讨论
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4