对象
- 对象是计算机中具体的数据信息
类
- 类是对现实生活中一类具有共同属性和行为的事务的抽象
- 类是对象的数据类型
- 类是具有相同属性和行为的一组对象的集合
对象的属性
- 属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值
对象的行为
- 行为:对象能够执行的操作
类和对象的关系
- 类:类是对现实生活中一类具有共同属性和行为的事物的抽象
- 对象:是能够看得到摸得着的真实存在的实体
类的定义
public class Phone {
public static void main(String[] args) {
//成员变量
String brand;
int price;
}
//成员方法
public void call() {
System.out.println("打电话");
}
public void sendMessage() {
System.out.println("发短信");
}
}
成员变量和局部变量的区别
package OOP.Example;
/*
学生类
*/
class Student {
//创建对象
String name;
//int age;
private int age;
/*
private关键字
是一个权限修饰词
可以修饰成员(成员变量和成员方法)
作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问
针对private修饰的成员变量,如果需要其他类使用,提供相应的操作
提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
*/
//提供get/set方法
public void setAge(int a){
//age = a;
if (a<0 || a>120){
System.out.println("你给的年龄有误");
}else{
age = a;
}
}
public int getAge(){
return age;
}
//成员方法
public void study(){
System.out.println("好好学习");
}
public void doHomewerk(){
System.out.println("键盘敲烂");
}
public void show(){
System.out.println(name + "," + age);
}
}
/*
学生测试类
*/
public class StudentDemo {
public static void main(String[] args) {
//创建对象
Student s =new Student();
//使用对象
//System.out.println(s.name + "," + s.age);
s.name = "林青霞";
// s.age = 30;
s.setAge(30);
//s.setAge(-30); //这里的结果0是age的默认值
s.show();
s.study();
s.doHomewerk();
}
}
this关键字
this关键字
1:this 修饰的变量用于指代成员变量
方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量
2:什么时候使用this呢?
解决局部变量隐藏成员变量(同名时)
3:代表所在类的对象引用
记住:方法在被哪个对象调用,this就代表哪个对象
public Student(String name, int age) {
this.name = name;
this.age = age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
封装
构造方法
class Student{
String name;//属性
int age;//属性
public Student(){//无参构造
}
public Student(String name,int age){//有参构造
this.name=name;
this.age=age;
}
public void setName(String name){//方法
this.name = name;
}
public void setAge(int age){//方法
this.age = age;
}
}