—————————面向对象的基本概念—————————
- 有对象
- 与对象互动
即通过对象的方式,把现实世界映射到计算机模型的一种编程方法。
- 人——抽象宏观概念——class 即类
- 具体的人——小明,小红,小军——instance 即实例
| 现实世界 | 计算机代码 | Java代码 |
| 人 | 类 class | class Person{} |
| 小明 | 实例 ming | Person ming=new Person() |
| 小红 | 实例 hong | Person hong=new Person() |
| 小军 | 实例 jun | Person jun=new Person() |
- class是对象模板, 定义如何创造实例,即class为一种数据类型
- instance是对象实例,instance是根据class创建的实例,可创建多个instance,
- 每个instance类型相同,但各自属性可能不相同。
—————————————————— 1.定义class ——————————————————
class Person{
public String name;
public int age;
} 一个class可以包含多个字段(field),字段用来描述一个类的特征。上面的Person类,我们定义了两个字段,一个是String类型的字段,命名为name,一个是int类型的字段,命名为age。因此,通过class,把一组数据汇集到一个对象上,实现了数据封装。
public用来修饰字段,表示这个字段可以被外部访问。
以下为对于书的定义:
class Book {
public String name;
public String author;
public double price;
}—————————————————— 2.创造实例 ——————————————————
- class只是模板,根据对象模板创造出实例,需要用new()操作符
- 定义一个引用类型的变量指向实例
Person ming=new Person();
其中,Person ming是定义Person类型的变量ming,而new Person()是创建Person实例。
- 一个Java源文件可包含多个类的定义,但只能定义一个public类,
- public类名必须与文件名一致。如果要定义多个public类,必须拆到多个Java源文件中。
—————————————————— 3.方法 ——————————————————
- 一个class可以包括多个field
class Person {
public String name;
public Integer age;
}
Person ming = new Person();
ming.name = "Xiao Ming";
ming.age = -99; // age设置为负数
直接按上述写法可能破坏封装性,因此需要用private修饰:
class Person {
private String name;
private int age;
}
用private封装后不能被直接访问,即以下程序报错:
public class Main {
public static void main(String[] args) {
Person ming = new Person();
ming.name = "Xiao Ming"; // 对字段name赋值
ming.age = 12; // 对字段age赋值
}
}
class Person {
private String name;
private int age;
}
因此需要使用方法使外部代码间接修改field:
3.实现方式
- 继承
- 多态
4.Java本身提供的机制
- package
- classpath
- jar
5.Java标准库提供的核心类
- 字符串
- 包装类型
- JavaBean
- 枚举
- 常用工具类
版权声明:本文为zyyy456123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。