Day12_Java(8.5)

Day12_Java

static补充使用

​ 在import里静态导入

​ 如:import static java.lang.Math.*;

​ 之前调用静态变量Math.PI,导入后直接PI

equals 和==

== 定好迪两侧为引用类型,对比的是地址值
equals方法属于Object,每个类都有,提供重写
默认的equals方法的帕努单逻辑和==是一样的,我们可以根据自己的需求去重写equals判断逻辑
1.判断您地址是否相同
2.判断那类型是否相同
3.提出自己的判断规则
toString()方法
当我们输出对象的时候会默认输出toString方法的返回值.Object的toString()方法提供重写
默认的toString()方法会输出该对象的权限类名@十六位哈希吗

内部类

作用:分担外部类功能

​ 完善多实现的体系

静态内部类
1.静态内部类中可以直接访问外部类的静态成员,如果要访问外部类的实例成员,需要通过外部类的实例访问
2.静态内部类的实例化方式
A.B a = new A.B();
3.静态内部类可以定义静态成员,也可以定义实例成员
4.可以通过类名直接调用静态内部类中的静态成员
实例内部类
1.实例内部类的实例化方式要依靠外部类的实例化来创建
A.C c = new A().new C();
相当于
A a = new A();A.C c= a.new C();
2.实力内部类中不能定义静态成员
3.如果实例内部类C中和外部类A中有同名的参数,则就近原则this.代表实例内部类C的成员,A.this.代表外部类A的
4.实例内部类中可以访问到外部类的所有成员
5.每一个实例内部类都只对应一个外部类的实例,一个外部类的实例可以对应多个内部类的实例
局部内部类
1.局部内部类不能使用权限修饰符(public protected private)以及static
2.局部内部类不可定义静态成员
3.局部内部类可访问到外部类的所有成员,可以访问到外部方法中的final修饰的变量
4.局部内部类的作用范围在当前方法内,如果要使用必须声明在类定义之下,外部类无法创建局部内部类的实例
匿名内部类(该实例只使用一次,创建之后立即使用.在接口实现类和抽象类子类中)
1.使用方式,new接口/抽象类
2.匿名内部类是唯一一个没有构造器的类
3.匿名内部类不可以定义静态成员
4.可以访问外部类的所又成员
5.一般用作方法的参数中,只用一次的那种

例子:

​ 维护一个内部类,计算一个数组的最大值和最小值,同时返回

步骤

​ 1.提供一个内部类,将需要的变量设置为成员,提供构造器提供get.set方法

​ 2.在外部类中抽象一个返回该内部类对象的方法,参数为int类型的数组

​ 3.在方法体内计算出需要的数值,然后注入到内部类的对象里作为返回

​ 4.在main方法中产生内部类的对象,并输出

例子2

​ 有一个学生类,维护了一个课程类,课程类中提供了课程的名字和课程的数量,课程类为私有的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值