面向对象的3大特性:封装、继承、多态
01什么是封装
1、定义:将类的某些信息隐藏在类的内部,不允许外部程序访问,只允许该类提供的方法来实现对隐藏信息的访问。
2、好处:只能通过规定的方法来访问,数据。隐藏类的实例和细节,方便修改和实现。
3、实现步骤:
set 赋值属性;get获得属性
参数的类型和属性相同:
见下面:
02使用包管理类
1、包的作用:
管理Java文件;解决同名文件冲突。
03访问修饰符
通常属性用private修饰,方法public修饰。
04this关键字
**1、this关键字代表当前对象
this.属性 操作当前对象的属性
**this.方法 调用当前对象的方法
2、封装属性的时候,经常会使用this关键字
**
菜单栏里面的source可以选择get and set自动生成属性。
属相名和参数名相同,为了区分属相和参数概念,在属性前加入this关键字,此时代表参数值赋值给属性值。
04什么是java的内部类
顾名思义,内部类就是一个类里面的类,包含类的类称之为外部类。
之所以要使用内部类,主要具有以下作用:
1、内部类可以提供更好的封装,把内部类隐藏在外部类之中,不允许同一个包中的其他类访问该类。
2、内部类的方法可以直接访问外部类的所有数据,包括私有的数据。
3、内部类可以实现的功能外部类同样可以实现,只是内部类使用更方便。
内部类一共有几种?
成员内部类
静态内部类
方法内部类
匿名内部类
05成员内部类
运行结果为:
从上面的代码可以看出成员内部类的使用方法:
定义了成员内部类后,必须使用外部类来创建内部类对象,用内部类对象来调用内部类的方法。
首先要创建外部对象。生成了外部对象名后,内部类 内部对象名 = 外部类对象.new内部类(),在用内部对象名.方法名调用方法。
1、外部类不能直接调用内部类的方法,要创建内部类的对象才能通过对象名调用内部类的成员变量以及方法。
2、如果外部类和内部类的成员变量或方法名相同,内部类默认访问自己的成员变量或者方法,如果访问外部类的成员变量,可以使用this关键字。如下面:
06静态内部类
静态内部类就是用static修饰的内部类,特点是:
1、静态内部类不能直接访问外部类非静态成员,但可以通过new 外部类().成员实现访问。
2、如果外部静态类成员名和内部类成员相同,可以通过类名.静态成员访问外部的静态成员;
如果成员名不相同,可以通过 成员名 直接调用外部类的静态成员。
3、创建静态内部类的对象时,不需要外部类的对象,直接内部类 内部对象名 = new 内部类();
运行结果:
07方法内部类
定义在外部类的方法中的类叫做方法类,方法类只有在该方法中才可见并使用
因为方法类不能在外部类的方法使用,所以方法类不能用static和访问符修饰。