OOP(一)类与对象
程序员文章站
2024-03-16 10:32:28
...
类对一类相同事物的抽象描述
对象,属于该对应类的一个实例
对象的三个主要特征:
行为---可以对对象施加什么操作或者方法
状态---当执行方法后,对象如何响应
标识---如何辨别相同行为与状态的不同对象
基本定义格式
[修饰符] class 类名
{
成员变量
构造器
方法
}
public class Person {
private String name;
private int age;
private String sex;
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public void printMsg()
{
System.out.println("superman");
}
私有成员变量(实例域)用private修饰符修饰,确保类自身方法能够访问这些实例域,而其他类的方法不能读写这些域
什么是构造器
[修饰符] 构造器名(形参列表)
{
//code...
}
作用:对实例域进行初始化。
几点注意:
- 构造器和类同名
- 构造器没有返回值
- 每个类至少有一个构造器(如果用户没有显式定义构造器,系统会自动创建一个默认无参的构造器)
- 构造可有>=0个参数
- 总是伴随着new一起调用
实例化对象
[类名] 自定义对象名 = new 构造器名();
this关键字
情况一:当实例域与局部变量重名时,this表示隐式参数(使用该实例域的对象)。
情况二:在一个构造器中,调用本类的另一个构造器,此时this(形式参数);必须放于构造器第一行。
方法
[修饰符] 返回值 方法名(形参列表)
{
//code....
}
- 方法不能独立定义,必须在类里面进行定义
- 方法要么属于类的一个对象,要么属于类(static方法)
- 方法不能独立执行,必须使用类或者对象作为调用者
传值机制:总是按值传递
方法的重载
要同一类中,方法名相同,参数列表不同(参数的类型,个数,顺序)。与方法的返回值类型以及修饰符无关。
封装
将对象相关信息隐藏在对象内部,不允许外部程序直接访问,透过该类所提供的方法对内部信息进行操作与访问。
基本封装操作:设置或者获取实例域的值
- 一个私有的数据域
- 一个共有域访问器方法
- 一个公有域更改器方法(进行数据域合法性检查)