第四章 类和对象

本文介绍了面向对象编程中的关键概念,包括类的定义与属性、方法的使用,对象的实例化,以及封装、继承和多态等三大特性。讲解了访问权限、构造方法和垃圾回收机制的重要性。
摘要由CSDN通过智能技术生成

一、类(引用数据类型,又叫抽象数据类型)

1、定义:现实世界中具有相同属性和行为的物理实体的抽象。

2、类=属性+方法

public class 类名 {

}

(1)属性:访问权限修饰符  数据类型  变量名

private String name;

(2)方法([ ]中的都可省略)

[访问权限修饰符] [修饰符] 返回值类型 方法名(数据类型 形参,...) {

        方法体;

}

public static void main(String[] args) {

}

1>访问权限修饰符

2>修饰符

3>返回值类型:return值不会自动类型转换

4>方法名要遵守标识符规则,首字母小写

5>形参列表:它的决定因素是数据类型,不是参数名称;形式参数是局部变量,作用域是本方法体内,方法运行结束就释放内存空间

6>方法体:代码从上往下依次执行,遇见return就结束,如果没有遇见,代码执行完会自动结束

二、对象(实例)

1、定义:现实世界中某个具体的物理实体,每个对象都包含特定的属性和行为。

要想有一个对象,首先定义类,对象是由类这个模板创建出来的。

2、实例化对象:

对象名(用变量来接收,并通过变量来访问) = new 类( );(就是创建出来的对象)

(new是一个运算符,作用是开辟空间并创建一个对象,还为属性赋初始值)

Scanner input = new Scanner( );

3、访问属性和访问方法

三、抽象、实例化

四、面向对象的三大特征:封装、继承、多态

1、封装:

//属性

//构造方法

//getter and setter

(1)定义:就是将属性(数据)和处理这些属性(数据)的行为(方法)结合起来,仅对外公开接口以达到信息隐藏的目的。

(2)好处:简单(调方法就可以),安全

(3)如何封装:

1>加private

2>写访问属性的方法:getter and setter(每个属性都要有get和set方法)

读:public String getName( ){

        return this.name;

}

写:public void setName(String name) {

        this.name = name;

}

(4)this

(5)形参

基本数据类型传过去就是把值复制过去了,自身不会改变

这里sumInt方法的形参是将numOne值复制过来,所以numOne没有改变

打印结果:10  21

引用数据类型传过去就是把地址传过去了

这里addWeight的形参是将s1这个对象的地址复制过来,通过地址可以改变属性的值(和c中的指针一样)

打印结果:20.0  55.0

(6)方法的重载:同一个类中,方法名相同,参数的个数、类型、顺序不同,称为方法的重载

1>Java中如何判断方法是否是同一个:

方法名是否相同;形参列表是否相同(参数个数、参数类型、参数顺序)

2>用法:功能相似,参数不同时可以考虑用方法重载

3>重载必须满足的条件(重要):在同一个类中;方法名相同;参数列表不同(参数个数、参数类型、参数顺序)

(7)构造方法:在new创建对象时会调用的一个方法。构造方法会默认给属性赋初始值

注意:如果定义了一个带参的构造方法,那么无参的构造方法就失效了;但是编码规范要求一旦定义了一个带参的构造方法,就要写无参的构造方法

(构造方法和main方法都可以重载,但只有public static void main (String[] args) {  } 是程序的主入口)

(8)垃圾回收机制:机器自动回收堆中没有栈引用的对象

2、继承:基类和派生类

3、多态(一个对外接口,多个内在实现方法):

定义:同一操作作用于不同的类的对象,将产生不同的执行结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值