精华笔记:
-
构造方法:构造函数、构造器、构建器-----------------------复用给成员变量赋初值的代码
- 作用:给成员变量赋初值
- 与类同名,没有返回值类型(连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天再讨论
来源:https://www.cnblogs.com/Bafanqwq/p/16560615.html
本站部分图文来源于网络,如有侵权请联系删除。