20200924Day04

20200924

知识点

1.面向对象基本概念

1.1面向对象:

编程语言主要分为两大类:面向过程、面向对象
面向过程:
当需要实现某一个功能时,每一个步骤都亲力亲为,都参与。
面向对象:
当需要实现某一个功能时,不关心步骤
比如:
洗衣服
面向过程: 脱衣服 --> 打水、加洗衣粉 --> 泡 --> 洗
面向对象: 衣服
java 是一门典型的面向对象语言,面向对象相对于面向过程就是说从执行者变成了指挥者。面向对象
更符合我们思维/思考习惯,能把一个事情简单化。
比如:
吃饭
面向过程: 买菜 --> 洗菜 --> 切菜 --> 炒菜…
面向对象: 想吃什么?点餐 --> 吃
面向对象程序设计(OOP)是一种基于对象概念的软件开发方法
面向对象三大特征:

封装,继承,多态。

1.2对象:

在面向对象的世界中,万物皆对象。对象有状态和行为,也就是属性和功能。

简单理解就是真实存在的个体。

1.3类:

具有相同的状态和行为的一组对象的集合。

1.4类和对象的关系:

类是对象模板,对象是类的具体(实例)
类和对象的关系就是抽象和具体的关系

2.定义类

2.1步骤:

  1. 发现类,类定义了对象将会拥有的属性和方法
  2. 发现类的属性,对象所拥有的特性在类的表现叫做类的属性
  3. 发现类的方法,对象执行的操作在类中叫做类的方法

3.创建对象

类名 变量名 = new 类名();

new是关键字,称为实例化。

左边的类名为对象的数据类型。

右边的类名()称为类的构造方法。

4.方法

方法是完成特定功能的、相对独立的程序段。方法一旦定义,可以在不同的程序中多次调用。
方法的设计要遵循功能单一原则,即一个方法只干一件事。

4.1方法声明:

[修饰符] 返回值类型 方法名([参数列表]){ //方法头
//方法体
}

修饰符包括 public / private / protected / final / static

返回值类型是反映这个方法是否需要返回结果,如果方法没有返回值,就使用 void 关键字声明。

有返回值,就用返回值的类型声明。有返回值在方法体中就一定要用 return + 返回值; ,一个方法
只能有一个返回值。

方法名命名规范和变量命名规范相同,见名知意。

参数列表表示要执行/调用此方法需不需要传递参数,没有参数列表的叫做无参方法。多个参数之
间用 , 隔开,参数要声明类型。方法的参数叫做形参,调用方法传递的对应的参数叫做实参。

方法体是方法具体内容,里面不能够声明另外一个方法。

方法不调用是不会执行的

4.2方法调用

调用方法就是执行方法。发起调用的方法称为主调方法,被调用的方法叫做被调方法。
方法调用时需要注意,调用的方法如果需要传递参数,就需要在调用出传入相对应的参数

4.3方法的返回值:

一个方法只能有一个返回值,返回值类型在方法声明时已经确定,在方法头中声明。如果没有返回值使
用 void 关键字声明。有返回值,根据不同的返回值类型进行声明。有返回值的要在方法体中使用
return + 返回值; ,将结果返回到方法的调用处。

4.4方法的参数:

如果方法定义了参数,调用时就要传递参数(满足参数定义)
在定义方法时,不确定的数据要设计为方法参数,不变化的设计在方法体中。
被调方法中的参数称为形式参数,主调方法中的参数被称为实际参数
在传参过程中,基本数据类型传递的是值(值传递),引用数据类型传递的是地址/引用(值传
递,只不过传递的是地址)
Java 中只有值传递

4.5.可变参

是在方法的参数列表中声明 参数类型 + … + 变量名 。可变参表示,参数列表可以为空,也可以是任
意个当前数据类型的数据。

public static int add(int… n) {
//方法体
}

在方法体中,可变参的使用和数组的使用是一样的。所以,不能同时存在两个同名方法且参数列
表一个是数组,一个是可变参的类。 可变参只能出现在参数列表的最后一位,所以不能在一个方
法的参数列表中出现多个可变参。

5.方法重载

一个类中允许出现,方法名相同,参数个数、类型、顺序不同(参数列表不一样)的方法存在。这就叫
做方法的重载。方法的重载与返回值类型无关

6.实例方法

类的实例(也叫做 non-static )包括属性和方法,也称为实例变量和实例方法。

7.实例变量

实例变量,是声明在方法之外,类里面的变量。

public class Student {
//实例变量
String name;
char gender;
int age;

//实例方法
public void say() {
System.out.println(“say()”);
}
}

7.1实例变量的作用域

就近原则,实例变量的作用域是整个类,在这个类的所有实例方法中都可以访问。实例变量可以在定义
的时候不初始化值,因为实例变量在实例化对象后会有默认值,默认值根据实例变量的类型决定。

7.2实例变量与局部变量的区别

  1. 作用域不同
  2. 有无默认值
  3. 在同一个方法中不允许出现同名的局部变量
  4. 一个类中可以有同名的局部变量和实例变量,在方法中优先使用局部变量

8.构造方法

构造方法是一个特殊的方法

[访问修饰符] 方法名([参数列表]){ //方法头
//方法体
}

构造方法没有返回值,也不是 void
构造方法的方法名要和类名相同,包括大小写

今日总结:

感觉今天讲的东西有点多,下午听到实例变量这就有些吃不消了,后面的东西都听得模模糊糊,晚自习看了看也还是不清楚。

中午把昨晚作业的第二题改正了。思路就是把总分单独放在一个数组然后用冒泡排序法排序,在交换位置那一步时把成绩和姓名的位置一起交换后在输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值