类和对象
Java中使用类class来描述事物,是对一类事物的描述。而对象就是该事物的个体,也称为实例。面对对象编程的重点就是对于类的设计,也即是设计类的成员。
常见的类的成员有属性和行为,属性就是类中的成员变量,行为就是对应类中的成员方法。例如一个Person类,他有年龄、性别、邮箱…等基本属性,这些基本属性称之为类的属性(姓名、年龄、性别);这个Person类还有很多技能(例如吃饭、睡觉等),这称之为这个类的行为。
public class Person {
// 属性:定义这个Person类的属性(姓名、年龄、性别)
String name;
int age;
String gender;
// 行为:定义Person类的行为(吃饭、睡觉)
public void eating() {
System.out.println("Person的吃饭方法");
}
public void sleeping() {
System.out.println("Person的睡觉方法");
}
public static void main(String[] args) {
// New一个Person对象,并命名为p1,调用这个类的两个方法
Person p1 = new Person();
p1.eating();
p1.sleeping();
}
}
输出的界面为:
类的成员:属性
1、定义属性的方法 :数据类型 变量名 = 变量值
2、属性需要先声明(声明在类的一对{}中),后使用
3、声明时可以用权限修饰进行修饰分别为private、public、缺省、protected
上述例子中的属性没有写具体的权限修饰符,就是默认为缺省的权限。
类的成员:方法
方法的声明: 权限修饰符 返回值类型 方法名(形参列表){方法体}
权限修饰符: 这里也涉及到了面向对象的一大特征:封装和隐藏
作用域范围
- private: 类内部
- 缺省:类内部,同一个包(不写默认就是缺省)
- protected:类内部,同一个包,不同包的子类,同一个工程。
- 当我们创建一个类的对象之后,我们可以通过 对象.属性的这个方式对属性进行赋值,但是对于有权限修饰符的属性就会受到制约,为了防止用户直接使用 对象.属性 这个方式对属性进行赋值,一般将对象属性的权限修饰符设置为private,这样可以避免上述情况。这样也并不是无法对内容进行修改和获取,可以对于private的属性设置一个public的方法getxxx()和setxxx(),从而实现对于属性的封装。
具体操作如下:
// 定义类的属性为私有属性private
private String name;
private int age;
private String gender;
// 设置私有属性的get和set方法,便于在类的外部对类的属性进行修改和获取
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender()