Java面向对象的一些学习笔记

1.Private关键字:
(1)private关键字是一个权限修饰符

(2)可以修饰成员变量和成员方法

(3)被private修饰的成员只能在本类中才能访问

(4)针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

(5)提供"setXxx(参数)"方法,用于给成员变量赋值,方法用public修饰

(6)提供"getXxx(参数)"方法,用于获取成员变量的值,方法用public修饰

2.this关键字的作用用于区别成员变量和局部变量
(1)this.成员变量----访问本类成员变量

(2)this.成员方法----访问本类成员方法

(3)this(…)----访问本类构造方法

3.标准的JavaBean类:

(1)类名需要见名知意

(2)成员变量使用private修饰

(3)提供至少两个构造方法

​ 无参构造方法

​ 带全部参数构造方法

(4)成员方法

​ 提供每一个成员变量对应的setXxx()/getXxx()

​ 如果还有其他行为,也需要写上

4.继承和继承的好处与弊端

(1)继承是面向对象三大特征之一,可以让类跟类之间产生父子的关系,子类继承父类的属性和方法,并且子类可以追加属性和方法。

(2)可以把多个子类中重复的代码抽取到父类中,子类可以直接使用,减少代码冗余,提高代码的复用性

(3)Java中类只支持单继承,不支持多继承,但支持多层继承。

(4)好处:提高了代码的维护性,复用性
弊端:降低了子类的独立性

5.继承的格式

public class 子类 extends 父类 {}

6.继承后子类的特点

(1)子类可以得到父类的属性和行为,子类可以使用

(2)子类可以在父类的基础上新增其他功能,子类更强大

7.Java中所有的类都直接或者间接继承于Object类

8.子类只能访问父类中非私有的成员

9.多态:同一对象,在不同时刻表现出来的的不同状态

10.多态的前提:

(1)有继承/实现关系

(2)有父类引用指向子类对象

(3)有方法的重写

11.多态的好处与弊端:
(1)多态的好处:使父类型作为参数,可以接受所有子类对象,体现多态的拓展性与便利

(2)多态的优势:方法中,使用父类作为参数,可以接收所有子类对象

(3)多态的弊端:不能使用子类的特有功能

12.引用数据类型的类型转换方式:

自动类型转换,强制类型转换

13.强制类型转换能解决的问题:

(1)可以转换成真正的子类类型,从而调用子类独有功能

(2)转换类型与真实对象类型不一致会报错

(3)转换的时候用instanceof关键字进行判断

14.final关键字:

(1)修饰方法:最终方法,不能被重写

(2)修饰类:最终类,不能被继承

(3)修饰变量:是常量,不能被修改
变量是基本类型,值不可以被改变;
变量是引用类型,地址值不能被改变,但地址里面的内容可以被改变

15.抽象类的作用是什么样的?

抽取共性时,无法确定方法体,就把方法定义为抽象的

强制让子类按照某种格式重写

抽象方法所在的类,必须是抽象类

16.抽象类和抽象方法的格式

public abstract 返回值类型 方法名称(参数列表)

public abstract class 类名{}

17.继承抽象类要注意的点

要么抽象类中所有抽象方法,要么是抽象类

18.接口成员的特点

成员变量:只能是常量,默认修饰符:public static final

构造方法:没有

成员方法:只能是抽象方法,默认修饰符:public abstract

19.类和接口的关系:
(1)类和类的关系:继承关系,只能单继承,不能多继承,但是可以多层继承

(2)类和接口的关系:实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口

(3)接口和接口的关系:继承关系,可以单继承,也可以多继承

20.内部类的分类:成员内部类,静态内部类,局部内部类,匿名内部类

(1)成员内部类:写在成员位置的,属于外部类的成员
获取成员内部类对象的两种方法:

①当成员内部类被private修饰时

​ ②在外部类编写方法,对外提供内部类对象

(2)当成员内部类被非私有修饰时,直接创建对象

Outer.Inner oi = new Outer().new Inner();

(3)外部类成员变量和内部类成员变量重名是,内部类访问格式为:

System.out.println(Outer.this.变量名);

(4)什么是匿名内部类?

隐藏了名字的内部类,可以写在成员位置,也可以写在局部位置

①匿名内部类的格式

new 类名或者接口名(){

​ 重写方法;

};

②格式的细节

包含了继承或实现,方法重写,创建对象。

整体就是一个类的子类对象或者接口的实现类对象

③使用场景

当方法的参数是接口或者类时,

以接口为例,可以传递这个接口的实现类对象,

如果实现类只要使用一次,就可以用匿名内部类简化代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值