1.private最常见的应用:
把成员变量用private修饰,提供对应的setXxx()/getXxx()方法,以对其访问。
2.给成员变量赋值的方式有两种:
A:使用构造方法。简单。
B:使用成员方法setXxx()。灵活,一般在开发中采用。
手机类
A:构造方法赋初值法
//PhoneTest.java
//构造方法赋初值法
/*
手机类:
成员变量
构造方法(推荐:永远手动给出无参的构造方法)
成员方法
*/
class Phone{
//成员变量
private String brand;
private int price;
//给了一个无参构造方法
public Phone(){}
//给了一个有两个参数的构造方法(构造方法重载)
public Phone(String brand, int price){
this.brand= brand;
this.price= price;
}
//成员方法
public void show(){
System.out.println(brand+"---"+price);
}
}
//测试类
class PhoneDemo{
public static void main(String[] args){
System.out.println("使用构造方法赋值:");
Phone p1= new Phone("华为",3000);
p1.show();
}
}
B:使用成员方法setXxx()
//使用成员方法setXxx()设置初值
class Phone{
//成员变量
private String brand;
private int price;
public Phone(){}
//成员方法
public void setBrand(String brand){
this.brand= brand; //this防止局部变量隐藏成员变量
}
public String showBrand(){
return brand; //其实是隐含了this
}
public void setPrice(int price){
this.price= price;
}
public int showPrice(){
return price;
}
}
//测试类
class PhoneDemo{
public static void main(String[] args){
System.out.println("使用setXxx()赋值:");
Phone p1= new Phone();
p1.setBrand("华为");
p1.setPrice(2000);
String brand= p1.showBrand();
int price= p1.showPrice();
System.out.println(brand+"---"+price);
}
}
学生类
//StudentDemo.java
//方法1
class Student{
private String name;
private int age;
//手动给无参构造方法
public Student(){}
//有参构造方法
public Student( String name, int age){
this.name=name;
this.age=age;
}
public void show(){
System.out.println(name+"----"+age);
}
}
//测试类
class StudentDome{
public static void main(String[] args){
Student s= new Student("lily", 22);
s.show();
}
}
方法2:
class Student{
private String name;
private int age;
public Student(){}
public void setName(String name){
this.name=name;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
//测试类
class StudentDome{
public static void main(String[] args){
Student s2= new Student();
s2.setName("刘雯");
s2.setAge(33);
System.out.println(s2.getName()+"-"+s2.getAge());//刘雯-33
//s2.show(); 也可以写个show()方法输出
}
}