1 .面向对象思想:
面向谁,就是更珍惜谁。
流程导向:当需要实现一个功能时,每个具体步骤都要亲力亲为,细致处理每一个细节。
面向对象:当需要实现一个功能时,强调寻找已经具有该功能的对象来实现其功能,而不是不在意具体步骤,自己一步一步操作实现。
面向对象特征:面向对象思想是一种更符合我们思维习惯的思想,它可以简化复杂的事情,使我们从执行者变成指挥者。
面向对象语言包括三个基本特征:封装、继承和多态性。
2 .类和对象
环顾四周,可以看到很多对象,比如桌子、椅子、同学、老师等等。 桌椅是办公用品,师生都是人。 那么什么是班级呢? 对象是什么呢?
什么是班级
类:通过相关属性和行为的集合,发现是事物的模板,用事物的属性特征和行为特征描述其类。
属性:该事物的状态信息。
行为:对那个事物能做什么。
/小猫
属性:姓名、体重、年龄、颜色
行为:行走、奔跑、呼喊
对象是什么
对象:是某类事物的具体表现。 对象是类的实例,必然具有该类的属性和行为。
在现实中,小猫是某种东西的一个例子
类与对象的关系
类是对某种事物的描述,是抽象的。
对象是某种事物的实例,是具体的。
类是对象的模板,而对象是类的实体。
类定义:
事物和班级的对比
属性:该事物的状态信息。
行为:对那个事物能做什么。
用Java用class记述事物也是一样:
成员变量:与事物对应的属性
成员方法:应对事物的行为
示例:
定义模拟“学生”的类。 其中有两个组成部分。
属性:什么?姓名、年龄
行为:能做什么,吃饭、睡觉、学习
对应于Java类:
成员变量(属性) :
字符串名称; //名称
int age; //年龄
成员方法(行动) :
公共void eat () )//饮食
public void sleep ()//睡觉
public void study () )//学习
注意事项:
1 .成员变量直接定义在类中,位于方法外部。
2 .成员方法不建议写静态关键字(可以有,但只有这里避免混淆理解,保留。 之后说static关键词时统一说话)。
public class Demo02Student { //成员变量String name; //名称int age; //年龄//成员方法公共void eat () {
System.out.println("吃饭"); } public void sleep(){ System.out.println("睡觉"); } public void study(){ System.out.println("学习"); }}通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
步骤:
1.导包:也就是指出需要使用的类,在什么位置。
格式:import 包名称.类名称;
如:import demo01.Demo01Array
对于和当前类属于同一个包的情况下,可以省略导包语句不写。
2.创建:
格式:类名称 对象名 = new 类名称();
Student stu = new Student();
3.使用
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法(参数)
也就是,想用谁,就用对象名.谁
注意事项:
如果成员变量没有进行赋值,那么将会有一个默认值,规则和创建动态数组时一样。
知识点小补充:
1.System.out.println()是在输出内容之后换行,而 System.out.print()输出内容之后不换行。
2. Arrays.toString()将数组转换成String类型输出的,入参可以是long,float,double,int,boolean,byte,object
型的数组。
3.目前已复习到的可以串联起来的知识点就是:
A.当变量定义在方法中时,叫做局部变量,注意和成员变量的区别,一个是定义在方法里,一个是定义在类里。八种基本数据类型和引用类型作为局部变量只声明未赋值的话会报错,因为局部变量必须赋值后才可以使用,如果局部变量未赋值,编译无法通过。
B.但无论是局部变量还是成员变量,动态创建数组的时候,是有默认值的。
C.八种基本数据类型和引用类型作为成员变量时,有默认值。
规则如下:
如果是整数类型byte/short/int/long,默认为0;
如果是浮点类型float/double,默认为0.0;
如果是字符类型char,那么默认为’u0000’,这个字符不可见,不是不存在;
如果是hsdmy类型boolean,那么默认为false;
如果是引用类型,那么默认为null(空常量)。