java 学习笔记1
一、java面向对象之变量与构造器
成员变量与局部变量
成员变量与局部变量的区别
区别1:代码中位置不同
成员变量:在类中方法外定义的变量
局部变量:方法中定义的变量 代码块中定义的变量
区别2:代码的作用范围不同
成员变量:可以作用到类中的很多方法
局部变量:当前一个方法(当前的代码块)
区别3:是否有默认值
成员变量:有
局部变量:没有
区别4:初始化
成员变量不需要初始化 后续使用时再赋值
局部变量一定要初始化 不然直接使用时报错
区别5:内存中位置不同
成员变量:堆内存
局部变量:栈内存
区别6:作用时间不同
成员变量:当前对象从创建到销毁
局部变量:当前方法从开始执行到执行完毕
八大基本类型的成员变量默认值
如下:
构造器的定义与使用
构造器——>给属性赋值的作用
构造器与方法的区别:
(1)构造器没有方法的返回值类型
(2)构造器内部不能有return语句
(3)构造器的名字很特殊,必须和类名一样
构造器的作用:
作用其实就是为了给属性赋值
构造器注意的一点:
一般不会在空构造器中进行初始化,那样的话每个对象的属性就都一样了
开头会写一个空构造器,一般会重载构造器,然后在重载的构造器中进行赋值操作,(在重载构造器以后,系统不会自动生成空构造器)
构造器的使用代码详解
package play;
public class Person {
//定义一个空构造器
public Person() {
}
//定义有参构造器 构造器的重载
public Person(String name,double height,int age){
this.name = name; //使用this 关键字 特指调用这个构造器的那个对象
this.height = height;
this.age = age;
}
//定义Person的属性
String name;
double height;
int age;
//定义方法
public void eat(){
System.out.println("我爱干饭!");
}
public static void main(String[] args) {
//调用有参构造器 给 cc 的属性赋值
//创建一个 对象
Person cc1 = new Person("陈城", 176, 21);
//输出 对象 的属性值
System.out.println(cc1.name);
System.out.println(cc1.height);
System.out.println(cc1.age);
cc1.eat();
}
}
总结
类的创建和对象的创建
两种变量的各自不同点
构造器的使用以及 this 关键字的用法