本帖最后由 小石姐姐 于 2019-5-9 18:32 编辑
个人笔记一、类名作为形参和返回值
1、类名作为方法的形参方法的形参是类名,其实需要的是该类的对象实际传递的是该对象的【地址值】 2、类名作为方法的返回值方法的返回值是类名,其实返回的是该类的对象实际传递的,也是该对象的【地址值】 二、抽象类名作为形参和返回值抽象类作为形参和返回值方法的形参是抽象类名,其实需要的是该抽象类的子类对象 方法的返回值是抽象类名,其实返回的是该抽象类的子类对象 三、接口名作为形参和返回值接口作为形参和返回值方法的形参是接口名,其实需要的是该接口的实现类对象 方法的返回值是接口名,其实返回的是该接口的实现类对象 四、内部类内部类概念在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类 内部类定义格式格式: 举例: class 外部类名 { class Outer { 修饰符 class 内部类名{ public class Inner { } } } } 内部类的访问特点内部类可以直接访问外部类的成员,包括私有 外部类要访问内部类的成员,必须创建对象 五、成员内部类成员内部类的定义位置在类中方法,跟成员变量是一个位置 外界创建成员内部类格式格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象; 举例:Outer.Inner oi = new Outer().new Inner(); 成员内部类的推荐使用方案将一个类,设计为内部类的目的,大多数都是不想让外界去访问,所以内部类的定义应该私有化,私有化之后,再提供一个可以让外界调用的方法,方法内部创建内部类对象并调用。 六、局部内部类局部内部类定义位置局部内部类是在方法中定义的类 局部内部类方式局部内部类,外界是无法直接使用,需要在方法内部创建对象并使用 该类可以直接访问外部类的成员,也可以访问方法内的局部变量 七、匿名内部类匿名内部类的前提存在一个类或者接口,这里的类可以是具体类也可以是抽象类 匿名内部类的格式格式:new 类名 ( ) { 重写方法 } new 接口名 ( ) { 重写方法 } 举例: new Inter(){ @Override public void method(){} } 匿名内部类的本质本质:是一个继承了该类或者实现了该接口的子类匿名对象匿名 内部类的细节匿名内部类可以通过多态的形式接受 Inter i = new Inter(){ @Override public void method(){} } 八、匿名内部类在开发中的使用(一次性使用)匿名内部类的本质是一个继承了该类或者实现了该接口的【子类匿名对象】既然是对象,那就可以作为参数传递。所以,当发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去。 九、Math
1、Math类概述 Math 包含执行基本数字运算的方法 2、Math中方法的调用方式 Math类中无构造方法 但内部的方法都是静态的 类名.进行调用 3、Math类的常用方法[td]方法名 | 说明 | public static int abs(int a) | 返回参数的绝对值 | public static double ceil(double a) | 返回大于或等于参数的最小double值,等于一个整数 | public static double floor(double a) | 返回小于或等于参数的最大double值,等于一个整数 | public static int round(float a) | 按照四舍五入返回最接近参数的int | public static int max(int a,int b) | 返回两个int值中的较大值 | public static int min(int a,int b) | 返回两个int值中的较小值 | public static double pow(double a,double b) | 返回a的b次幂的值 | public static double random() | 返回值为double的正值,[0.0,1.0) | 十、SystemSystem类的常用方法[td]方法名 | 说明 | public static void exit(int status) | 终止当前运行的 Java 虚拟机,非零表示异常终止 | public static long currentTimeMillis() | 返回当前时间(以毫秒为单位) | 十一、Object类toString()方法Object类概述Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份 查看方法源码的方式选中方法,按下Ctrl + B 重写toString方法的方式 Alt + Insert 选择toString 在类的空白区域,右键 -> Generate -> 选择toString 十二、Object类的equals()方法equals方法的作用 用于对象之间的比较,返回true和false的结果 举例:s1.equals(s2); s1和s2是两个对象 重写equals方法的场景(比较两个对象的内容是否相同) 不希望比较对象的地址值,想要结合对象属性进行比较的时候。 重写equals方法的方式 alt + insert 选择equals() and hashCode(),IntelliJ Default,一路next,finish即可 在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。 十三、冒泡排序法冒泡排序概述一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序 如果有n个数据进行排序,总共需要比较n-1次 每一次比较完毕,下一次的比较就会少一个数据参与 十四、冒泡排序代码实现
[Java] 纯文本查看 复制代码 package com.itheima05;
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {11,99,33,44,77};
for (int x = 0; x < arr.length; x++) {
for (int i = 0; i < arr.length -1-x; i++) {
if (arr > arr[i+1]){
int temp = arr;
arr = arr[i+1];
arr[i+1] = temp;
}
}
}
//Arrays.sort(arr);
arrToString(arr);
//System.out.println(Arrays.toString(arr));
}
public static void arrToString(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr);
if (i != arr.length -1){
System.out.print(", ");
}
}
System.out.println("]");
}
}
十五、Arrays
Arrays工具类的常用方法[td]方法名 | 说明 | public static String toString(int[] a) | 返回指定数组的内容的字符串表示形式 | public static void sort(int[] a) | 按照数字顺序排列指定的数组 | 工具类设计思想1、构造方法用 private 修饰 2、成员用 public static 修饰
|