JavaSE之对象复习

一:第一路线

1.成员变量与局部变量的区别

  1. 相同点

先声明,后使用,都有相应的作用域

  1. 不同点

a) 属性可以指明权限(private, public, 缺省, protected) 而局部变量不可以使用权限修饰符
.
b) 属性不赋值的状态下有默认值,而局部变量不赋值使用的话会报错
.
c) 内存中加载的位置: 属性加载到堆空间(static修饰的加载到方法区),局部变量加载到栈(虚拟机栈)

2.重载

  1. 概念

同一个类中,允许存在一个以上同名的方法,但是它们的参数个数或者参数类型不同才行

  1. 特点

与返回值类型无关,只看参数列表(个数不同,类型不同),调用时根据形参的区别来区别。

  1. 判断是否重载

跟 方法的权限修饰符、返回值类型、形参变量名、方法体都无关!
跟 参数列表有关!!!
注意 可变个数的形参和数组形式不可以构成重载,即不可同时出现

3.可变个数的形参

  1. 概念

允许直接定义能和多尔实参相匹配的形参。
JDK 5.0 以前 定义数组形参实现
JDK 5.0 以后 可变参数定义实现

  1. 具体使用以及使用注意

public void show(String s, String … strs){}
假如有其他参数,可变形参要放在最后,而且最多只可以有一个可变形参!

4.四种访问权限修饰符

private: 只可以修饰类内部的
缺省:可以修饰类内部、包内部
protected:可以修饰类内部、包内部、不同包的子类
public:可以修饰类内部、包内部、不同包的子类、同一个工程

第二路线

1.封装

a) 概括

该隐藏的隐藏,该暴露的暴露,提高系统的可扩展性,可维护性与安全!理解:属性多用 private修饰,通过get属性与set属性的方法进行改变属性值!

b) 属性赋值的顺序

默认初始化 > 显式初始化 > 构造器中赋值 > 通过对象.属性或者对象.方法的方式赋值!

c) 了解JavaBean

所谓的JavaBean是一种Java语言写成的可重用组件
符合如下标准:
类是公共的
有一个无参的公共构造器
有属性,且有对应的get、set方法

d) this关键字的使用

1.可以修饰 属性 方法 构造器
2.当修饰属性与方法时,可以理解为 当前对象或正在创建的对象
3.当形参与类的属性重名时,可以通过 this.名字 来表明类的属性

e) this调用构造器时应注意

1.通过this(形参列表)的方式调用本类的其他构造器
2.不可任意通过this(形参列表)调用自己
3.若一个类有n个构造器,则this(形参列表)最多有n-1个,否则就成环了
4.this(形参列表)要在构造器的首行
5.构造器内部最多只可以有一个this(形参列表)来调用其他的构造器

f) package关键字的使用

更好的管理类的项目,提供包的概念
使用package声明类或者接口所属的包,声明在源文件的首行
每“."一次,就表示一层文件目录

g) import关键字的使用

1.在源文件中显式的使用import结构导入指定包下的类、接口
2.声明在包的声明和类的声明之间
3.如果需要导入多个结构,则并列写出即可
4. 可以使用"xxx."的方式,表示可以导入xXx包下的所有结构
5.如果使用的类或接口是java.lang包下定义的,则可以省略import结构
6.如果使用的类或接口是本包下定义的,则可以省略import结构
7.如果在源文件中,使用了不同包下的同名的类,则必须至少有一个类需要以全类名的方式显示。
8. 使用"xxx.
"方式表明可以调用xxx包下的所有结构。但是如果使用的是xxx子包下的结构,则仍需要显示调用
9. import static :导入指定类或接口中的静态结构∶属性或方法

2.继承

a) 继承的好处

减少代码的冗余,提高了代码的复用性
便于功能的扩展
为之后的多态的使用,提供了前提

b) 格式:

class A extends B {}
子类继承了父类后,可以获取父类所以的方法和属性,而限制于封装性的原因,父类中声明private的属性或方法,使得子类不可以直接调用父类的这些结构
子类继承父类后,还可以有自己的属性和方法,实现功能的拓展!

c) 继承的规定

1.一个类可以被多个类继承
2.Java的类是单继承性,一个类只能继承一个类
3.子父类是相对的概念。
4.直接继承的父类为直接父类,间接继承的是间接父类。
5.子类继承父类后就获得了父类以及间接父类中声明的属性和方法。

d) 方法的重写

定义: 子类对继承父类的方法进行改造,覆盖。
要求:
子类与继承父类的方法名,参数列表相同;
重写方法的返回值类型不能大于父类的方法返回值类型;
子类修饰方法的权限不能小于父类方法的权限
子类方法抛出的异常,不能大于父类方法的异常。
返回值类型要一致

e) super的用法

super类似与this,只不过它是用来调用父类属性或方法的
当子类重写了父类的方法的时候,可以通过super.父类方法来调用父类的方法
在构造器中,this与super只可以存在一个,super(参数列表)是调用父类的构造器

3.多态

多态中 父声明,与子类直接声明区别:多态无法调用子类独有的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值