Java基础——类和对象
类的定义:
类的定义步骤:
定义类:
- 编写类的成员变量
- 编写类的成员方法
手机类:
2. 类名:手机(phone)
3. 成员变量:品牌(brand) 价格 (price)
4. 成员方法:打电话(call) 发短信(sendMessage)
public class Phone {
//成员变量
String brand;
int price;
//成员方法
public void call(){
System.out.println("打电话");
}
public void sendMessage(){
System.out.println("发短信");
}
}
对象的使用:
创建对象
- 格式:类名 对象名 =new 类名();
- 范例:Phone p=new Phone();
使用对象
1.使用成员变量
- 格式:对象名.变量名
范例:p.brand
2.使用成员方法
- 格式:对象名.方法名();
- 范例:p.call();
范例:
public class PhoneDemo {
public static void main(String[] args) {
//创建对象
Phone p=new Phone();
//使用成员变量
System.out.println(p.brand);
System.out.println(p.price);
p.brand="小米";
p.price=2999;
System.out.println(p.brand);
System.out.println(p.price);
//使用成员方法
p.call();
p.sendMessage();
}
}
案例:学生
1.创建学生类
public class Student {
//成员变量
String name;
int age;
//成员方法
public void study(){
System.out.println("好好学习,天天向上");
}
public void dohomework(){
System.out.println("键盘敲烂,月薪过万");
}
}
2.创建学生测试类
public class StudentTest {
public static void main(String[] args) {
//创建对象
Student s=new Student();
//使用对象
System.out.println(s.name+","+s.age);
s.name="小明";
s.age=30;
System.out.println(s.name+","+s.age);
//调用成员的方法
s.study();
s.dohomework();
}
}
成员变量和局部变量
成员变量:类中方法外的变量
局部变量:方法中的变量
成员变量和局部变量区别:
private关键字:
是一个权限修饰符
- 可以修饰成员(成员变量和成员方法)
作用是保护成员不被别的类使用,被private修饰的成员只能在本类中才能访问
- 针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
- 提供get变量名()方法,用于获取成员变量的值,方法用public修饰
- 提供set变量名(参数)方法,用于设置成员变量的值,方法用public修饰
private关键字的使用
一个标准类的编写:
- 把成员变量用private修饰
- 提供对应的getXxx()/setXxx()方法
范例:
1.创建学生类
/*
学生类
*/
public class Student {
//成员变量
private String name;
private int age;
//get/set方法
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
public void setAge(int a){
age=a;
}
public int getAge(){
return age;
}
public void show(){
System.out.println(name+","+age);
}
}
2.创建学生测试类
/*
学生测试类
*/
public class StudentTest {
public static void main(String[] args) {
//创建对象
Student s =new Student();
//使用set方法给成员变量赋值
s.setName("小明");
s.setAge(23);
//调用方法获取变量的值
s.show();
//使用get方法获取成员变量的值
System.out.println(s.getName()+"---"+s.getAge());
}
}