Java Life · 与你同在
January 2019
“
锲而舍之,朽木不折;锲而不舍,金石可镂 。
----荀 子
”
NO1.参数传递
(1)类名作为形参和返回值(应用)
1)类名作为方法的形参
方法的形参是类名,其实需要的是该类的对象。
实际传递的是该对象的【地址值】。
2)类名作为方法的返回值
方法的返回值是类名,其实返回的是该类的对象。
实际传递的,也是该对象的【地址值】。
(2)抽象类作为形参和返回值(理解)
1)抽象类作为形参和返回值
方法的形参是抽象类名,其实需要的是该抽象类的子类对象。
方法的返回值是抽象类名,其实返回的是该抽象类的子类对象。
(3)接口名作为形参和返回值(理解)
1)接口作为形参和返回值
方法的形参是接口名,其实需要的是该接口的实现类对象。
方法的返回值是接口名,其实返回的是该接口的实现类对象。
NO2.内部类
(1)内部类的基本使用(理解)
1)内部类概念
在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类。
2)内部类定义格式
3)内部类的访问特点
①内部类可以直接访问外部类的成员,包括私有;
②外部类要访问内部类的成员,必须创建对象。
(2)成员内部类(理解)
1)成员内部类的定义位置
在类中方法,跟成员变量是一个位置。
2)外界创建成员内部类格式
格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
举例:Outer.Inner oi = new Outer().new Inner();
3)成员内部类的推荐使用方案
将一个类,设计为内部类的目的,大多数都是不想让外界去访问,所以内部类的定义应该私有化,私有化之后,再提供一个可以让外界调用的方法,方法内部创建内部类对象并调用。
(3)局部内部类(理解)
1)局部内部类定义位置
局部内部类是在方法中定义的类。
2)局部内部类方式方式
①局部内部类,外界是无法直接使用,需要在方法内部创建对象并使用;
②该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
(4)匿名内部类(应用)
1)匿名内部类的前提
存在一个类或者接口,这里的类可以是具体类也可以是抽象类。
2)匿名内部类的格式
格式:new 类名 ( ) { 重写方法 } new 接口名 ( ) { 重写方法 }
3)匿名内部类的本质
本质:是一个继承了该类或者实现了该接口的子类匿名对象。
4)匿名内部类的细节
匿名内部类可以通过多态的形式接受。
5)匿名内部类直接调用方法
(4)匿名内部类在开发中的使用(应用)
1)匿名内部类在开发中的使用
当发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码。
NO3.常用API
(1)Math(应用)
1)Math类概述
Math 包含执行基本数字运算的方法。
2)Math中方法的调用方式
Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用。
3)Math类的常用方法
(2)System(应用)
1)System类的常用方法
(3)Object类的toString方法(应用)
1)Object类概述
Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份。
2)查看方法源码的方式
选中方法,按下Ctrl + B
3)重写toString方法的方式
①Alt + Insert 选择toString
②在类的空白区域,右键 -> Generate -> 选择toString
4)toString方法的作用
以良好的格式,更方便的展示对象中的属性值。
(4)Object类的equals方法(应用)
1)equals方法的作用
用于对象之间的比较,返回true和false的结果。
举例:s1.equals(s2); s1和s2是两个对象。
2)重写equals方法的场景
不希望比较对象的地址值,想要结合对象属性进行比较的时候。
3)重写equals方法的方式
①alt + insert 选择equals() and hashCode(),IntelliJ Default,一路next,finish即可;
②在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。
(5)冒泡排序原理(理解)
1)冒泡排序概述
一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序。
2)如果有n个数据进行排序,总共需要比较n-1次。
3)每一次比较完毕,下一次的比较就会少一个数据参与。
(6)Arrays(应用)
1)Arrays的常用方法
2)工具类设计思想
①构造方法用 private 修饰;
②成员方法用 public static 修饰。
— End —