Java面向对象05

构造方法和setter的区别

1.直接赋值:对象.属性名 = 值

2.构造方法:对于属性值,只能赋值一次,而且在创建对象时赋值。

3.setter方法:创建对象后需要修改属性的值。

final

1.final用法:

        ①修饰变量→常量

        ②修饰方法→不能被重写

        ③修饰类→不能被继承

2.final、finally、finalize区别:

        1.final的用法。

        2.finally不论执行tyr还是catch都会执行finally的内容。

        3.finalize()垃圾回收的方法

接口

1.概念:协议,约定,一系列规范和约定,目前接口里的方法全部是抽象方法(jdk1.8之前不包括)

2.接口的声明:

        ①关键字:interface,格式→[权限修饰符] interface 接口名称{}

        ②接口中声明的方法:

                接口中声明的方法都是抽象方法,一般不写abstract

        ③接口中声明的属性:

                接口中的属性一般都是静态常量,一般会省略public final static

3.接口对象的创建:

        ①接口中的方法都是抽象的,所以接口不能够直接创建对象。

        ②要想创建对象,必须实现接口中的方法。

        ③要使用子类创建对象:

                关键字:implement

                格式:class 类名 implement 父类接口1,父类接口2{}

4.接口的细节:

        ①接口的特点:接口可以多实现,多继承,多重继承。

        ②接口与抽象类的区别:

                ①写法:

                        接口:interface class

                        抽象类:abstract class

                ②成员:

                        接口:抽象类

                        抽象类:抽象类、属性、方法、构造方法、代码块

                ③子类实现:

                        接口:implement

                        抽象类:extends

                ④特点:

                        接口:多实现,多继承,单继承,多重继承

                        抽象类:单继承,多重继承

                ⑤用途:

                        接口:不同事物之间相同功能

                        抽象类:同一种事物共有的特性

                联系:把接口看成一个特殊的抽象类,里面的方法全部是抽象的。

1.功能:分类管理Java文件。

2.包的规则:全球统一,公司域名倒置 + 项目名称 + 模块名称 + 包的功能名称

3.包的分隔符:用点进行分割,每个点表示一层

4.包的声明:表示该类在那个包下,如果没有package声明。在src下,package包路径

                     注意:包声明只有一次,并且在第一行

5.导包:指明该类在那个包下,import类路径下。

              导包可以是多个,在package下面。

权限修饰符

1.public:公开的,在整个项目都可以。

2.private:私有的,在当前类可以访问。

3.default/friendly:默认可以不写,在本类可以访问

4.protected:受保护的,当前包可其他包的子类。

内部类

1.成员内部类:类中方法外

        ①一般成员内部类:格式→class 类名称{}

        ②静态成员内部类:格式→static 类名称{}

        ③私有成员内部类:格式→private 类名称{}

2.局部内部类:方法中

3.内部类的命名:外部类名称+ $ + 内部类名称

4.一般成员内部类:

        ①一般成员内部类调用外部类的非静态方法:直接调用

        ②外部类的非静态成员调用一般成员内部类的非静态成员:创建对象,在调用

        ③一般成员内部类中不允许有静态方法,但可以有final static修饰的静态成员变量。

        ④外部类的外面创建一般成员内部类的对象:

                数据类型  外部类名.内部类名   例如:c.a  ca = new c().new a();

5.静态成员内部类:

        ①静态成员内部类的静态方法调用外部类的静态方法:直接调用

        ②静态成员内部类的静态方法调用外部类的非静态方法:创建外部类对象,在调用

        ③静态成员内部类的非静态方法调用外部类的静态方法:直接调用

        ④静态成员内部类的非静态方法调用外部类的非静态方法:创建外部类对象,在调用

        ①静态成员外部类的静态方法调用内部类的静态方法:内部类名.方法(参数)

        ②静态成员外部类的静态方法调用内部类的非静态方法:创建内部类对象,在调用

        ③静态成员外部类的非静态方法调用内部类的静态方法:内部类名.方法(参数)

        ④静态成员外部类的非静态方法调用内部类的非静态方法:创建内部类对象,在调用

总结:

        ①静态成员内部类的方法,调用外部类的静态方法:直接调用

        ②静态成员内部类的方法,调用外部类的非静态方法:创建外部类对象,在调用

        ③外部类方法,调用静态成员内部类的静态方法:内部类名.方法(参数)

        ④外部类方法,调用静态成员内部类的非静态方法:创建内部对象,在调用

        外部类创建内部类对象:

                格式:外部类的名称.内部类的名称  对象名称 = new 外部类名.内部类名()

6.私有成员内部类

        ①私有成员内部类的非静态方法调用外部类方法:直接调用

        ②外部类的非静态成员调用私有成员内部类的非静态方法:创建内部类对象,调用方法

        ③外部类的静态方法调用私有成员内部类中的非静态方法:先创建外部类对象,在创建内部

                                                                                                      类对象,在调用方法

        ④外部类的外面创建私有成员内部类的对象:不行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值