类
//定义一个Phone类
public class Phone {
String brand;
int price;
String color;
public void brand() {
System.out.println(brand);
}
public void price() {
System.out.println(price);
}
public void Color() {
System.out.println(color);
}
}
标准的类通常有四个部分组成
1.所有成员变量都要用private修饰
2.为每个成员变量写一对儿getter setter
3.编写一个无参构造方法
4.编写一个全参构造方法
标准JavaBean的定义格式
JavaBean是Java语言编写类的一种标准规范。符合JavaBean的类,要求类必须是具体的和公共的,并且具有无参数的构造方法, 提供用来操作成员变量的set和get方法。
public class ClassName{
//成员变量
//构造方法
//无参构造方法【必须】
//有参构造方法【建议】
//成员方法
//getXxx()
//setXxx()
}
成员变量和局部变量
1.在类中的位置不同
成员变量:类中,方法外
局部变量:方法中或者方法声明上(形式参数)
2.作用范围不一样
成员变量:类中
局部变量:方法中
3.初始化值的不同
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
4.在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
5.生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
使用一个类
1.导包 指出类在什么位置 import 包名称.类名称; 如果属于同一个包,可以省略导包语句
2.创建 类名称 对象名 = new 类名称();
.使用 对象名.成员变量名; 对象名.成员方法名();
对象作方法返回值
public static void main(String[] args) {
Phone two = getphone(); //用two接收getphone()返回的对象的地址
}
public static Phone getphone() {
Phone one = new Phone();
...
return one; //对象作为方法的返回值
}
对象作方法参数
public static void method(Phone one) { //对象作为方法的参数
System.out.println(one.brand);
}
封装
- 使用 private 关键字来修饰成员变量。
- 对需要访问的成员变量,提供对应的一对 getXxx 方法 、 setXxx 方法。
- 封装不单是指private 方法的使用也是对一段的封装 封装之后可以提高代码复用性
private、getter、setter
public class Person {
private String name; //使用private修饰后 不能直接访问 用使用getter、setter 获取和设置数据
private int age;
private boolean male; //是否为男生
public void setAge(int age) {
this.age = age; //可以借助set对传来的数据进行合理性判断
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setMale(boolean male) {
this.male = male;
}
public boolean isMale() { //特例:boolean类型的get要用is
return male;
}
}
this
上面代码中setName方法中参数为name,是一个局部变量,打印语句中的两个name都是这个局部变量
如果想使用成员变量name,需要用this setAge同理 this一定存在于方法之中
哪个对象调用setName this就是谁 this指向那个对象
可以用于解决局部变量和成员变量重名的问题 this可以在自己的构造方法中使用 类似super