Java基础视频笔记--06类和对象
类和对象
-
什么是类?
- 类本质上是现实世界当中某些事物具有共同特征,将这些共同特征提取出来形成的概念就是一个“类”,“类”就是一个模板。类实际上在现实世界当中是不存在的,是一个抽象的概念。
-
类 = 属性(来源于:状态)+方法(来源于:动作)
//例如 public class 明星类{ //属性-->状态,多见于名词 名字属性; 身高属性; //方法-->动作,多见于动词 打篮球方法(){ } 学习方法(){ } }
-
类的定义:
-
怎么定义一个类,语法格式是什么?
[修饰符列表] class 类名 {
//类体= 属性+动作
//属性在代码中以“变量”的形式存在(描述状态)
//方法描述动作/行为
}
-
为什么属性是“以”变量的形式存在的?
例如:假设我们要描述一个学生:
学生包括哪些属性:
学号:110
姓名:"张三"
性别:'男' (true/false)
住址:"深圳宝安区"
答案:是因为属性对应的是“数据”,数据在程序中只能放到变量中。
-
方法体外类体内声明的变量:成员变量。(这里的成员变量就是“属性”)
-
-
举例:定义一个学生类
/* 1、观察学生对象的共同特征(只观察属性) 有哪些共同特征: 学号:采用int类型 姓名:采用String类型 年龄:采用int类型 性别:采用char或者boolean类型 住址:采用String类型 注意:属性是成员变量。 2、以上是分析总结的结果,可以开始写代码了: 定义XueSheng类,编写成员变量作为属性。 3、变量有一个特点: 必须先声明,再赋值,才能访问。 成员变量可以不手动赋值?????????? XueSheng既是一个类名,同时又是一个“类型名”,属于引用数据类型。 */ public class XueSheng{ // 这个程序编译之后,会生成XueSheng.class字节码文件。 // 属性 // 学号(成员变量) int xueHao; // 姓名 String xingMing; // 年龄 int nianLing; // 性别 boolean xingBie; // 住址 String zhuZhi; }
——————————————————————————————————————————————————————————
-
什么是对象?
- 对象是实际存在的个体。(真实存在的个体)
- 例如:姚明就是一个对象,潘长江就是一个对象。姚明和潘长江这两个对象都属于“明星”这个类。
- 
- 在java语言中,要想得到“对象”,必须先定义“类”,“对象”是通过“类”这个模板创造出来的。
- 类就是一个模板:类中描述的是所有对象的“共同特征信息”。对象就是通过类创建出的个体。
- 实例:对象还有另一个名字叫做实例。
- 实例化:通过类这个模板创建对象的过程,叫做:实例化。
- 抽象:多个对象具有共同特征,进行思考总结抽取共同特征的过程。
-
对象的创建和使用
-
怎样完成对象的创建,语法:类名 变量名 = new 类名();--先记住
-
举例:
public class XueShengTest{ public static void main(String[] args){ int i = 100; System.out.println("i = " + i); // 在这里可以访问XueSheng类吗? // 当然可以。 /* 创建对象的语法是什么? 目前死记硬背,先记住。后面你就理解了。 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 s1 = new XueSheng(); // 和 int i = 10;一个道理。 // 再通过该类创建一个全新的对象 XueSheng s2 = new XueSheng(); // 再创建一个呢? XueSheng xsh = new XueSheng(); // 以上的这个程序就相当于通过XueSheng类实例化了3个XueSheng对象。 // 创建对象的个数没有限制,可以随意。只要有模板类就行。 // 3个对象都属于学生类型。 } }
-