面向对象当中最主要的”一词”是:对象
-什么是类?
类实际上在现实世界当中是不存在的,是一个抽象的概念。是一个模板。是我们人类大脑进行“思考,总结,抽象”的一个结果。(主要是因为人类的大脑不一般才有了类的概念)
类本质上是现实世界当中某些事物具有共同特征,将这些共同特征提取出来形成的概念就是一个“类”
明星是一个类
-什么是对象?
对象是实际存在的个体。(真实存在的个体)
宋小宝是一个对象
姚明是对象
...
宋小宝,姚明,刘德华这3个对象都属于“明星”这个类
在Java语言中,要想得到“对象”,必须先定义“类”,“对象”是通过“类”这个模板创造出来的。
类就是一个模板:类中描述的是所有对象的共同特征。
对象就是通过类创建出的个体。
对象还有另一个名称:实例(instance)
通过类创建对象的过程,创建也可以叫做实例化
类:不存在的,人类大脑思考总结的一个模板(这个模板当中描述了共同特征)
对象:实际存在的个体。
实例:对象还有另一个名字叫做实例。
实例化:通过类这个模板创建对象的过程。
抽象:多个对象具体共同特征,进行思考总结抽取出来共同特征的过程
类 – 【实例化】–> 对象(实例)
对象 – 【抽象】–> 类
类是一个模板,是描述共同特征的一个模板,那么共同特征包括什么呢?
名字、身高都属于名词;(状态特征)
打篮球、学习都属于动词;(动作特征)
类 = 属性+方法
属性来源于:状态
方法来源于:动作
Java 软件工程师在开发中起到的一个作用是什么?
解决现实生活当中的问题
软件开发既然是为了解决现实世界当中的问题,那么首先java软件必须能够模拟现实世界。
1.类的定义
#1.1 怎么定义一个类,语法格式是什么?
[修饰符列表] class 类名 {
// 类体= 属性+方法
// 属性在代码上以”变量“的形式存在
// 方法描述动作/行为
}
注: 修饰符列表可以省略
#1.2 为什么属性是”以”变量“的形式存在的?
假设我们要描述一个学生:
学生包括哪些属性?
学号
姓名
性别
住址
答案:是因为属性对应的是”数据“,数据在程序中只能放到变量中。
结论:属性其实就是变量
变量的分类:
变量根据出现位置进行划分:
方法体当中声明的变量:局部变量。(local)
方法体外声明的变量:成员变量。(这里的成员变量就是”属性“)(member)
注意:属性是成员变量
变量的特点
对象的创建和使用
语法:new 类名();
类是模板, 通过一个类,是可以创建N多个对象的。
new是一个运算符。 专门负责对象的创建。
XueSheng s1 = new XueSheng();
int i = 100;
i是变量名
int是变量的数据类型
100是具体的数据
s1是变量名(s1不能叫做对象,s1只是一个变量名字)
XueSheng是变量s1的数据类型(引用数据类型)
new XueSheng() 这是一个对象(学生类创建出来的学生对象)
数据类型包括两种:
基本数据类型: byte, short, int, long, float, double, boolean, char
引用数据类型: String, XueSheng....
Java中所有的”类“都是引用数据类型
XueSheng既是一个类名,同时又是一个”类型名“,属于引用数据类型
public class XueShengTest {
public static void main(String[] args) {
int i = 100;
System.out.println("i =" + i);
XueSheng s1 = new XueSheng();
//和 int i = 10; 一个道理
仅供学习使用,内容版权归B站老师所有