今日整理:
1.当方法的形参是类的时候,它实际是传递什么?
地址值
2.什么是内部类?什么是匿名内部类?
内部类:在一个类的内部,定义的类,匿名内部类:当为类和接口创建对象时,如果没有指定对于的子类,那么可以使用匿名内部类对象来充当子类
3.为什么Java会有匿名内部类?举例说说?
当为类和接口创建对象时,如果没有指定对应的子类,
代码如下:
public class Demo3 {
public static void main(String[] args) {
//匿名类调用Animal
Animal animal = new Animal() {
@Override
void eat() {
super.eat();
System.out.println("匿名内部类调用Animal"); } }; } }
abstract class Animal{
private String name;
public Animal() {}
public Animal(String name) {this.name = name;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
void eat(){System.out.println("使用Animal");}
}
4.今天常用API的方法有哪些?都有什么作用?
1.Math
包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数
2.System
一个系统类,用来获取或设置系统信息
3.Object
超类;每个类都可以将 Object 作为超类
4.Arraays
它是一个操作集合和数组的工具类,操作数组和集合时很方便。
5.说说今天自己认为重要或比较难理解的点.
①jvm虚拟机:
栈
存储方法,包含方法体
特点:先进后出,执行完毕后,弹栈。
堆
存储对象
比如:new 引用类型类目()
②参数传递
传递基本数据类型
局部方法体执行完毕后进行弹栈后,成员变量随局部方法体改变不变
传递引用数据类型
局部方法体执行完后,方法内改变的参数,执行完毕后会留在堆里,改变局部方法体后面运行的方法里对应的参数。
③内部类可以使用外部类定义的成员方法和变量,不可以使用外部类的局部变量
外部类不能使用内部类使用的变量和方法
④匿名内部类的使用
测试类里重写方法调用
抽象类:可以创建匿名内部类对象
接口:可以创建匿名内部类对象
⑤
常用的API
Math
概述
包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数
常用属性
常见的属性: PI ,获取圆周率
使用方式
直接使用Math调用属性和方法,基本都是静态的属性和方法,所以可以直接使用类名调用
常用方法
public static sbs(int a )
返回参数的绝对值
public static double ceil (double a )
返回大于或等于参数的最小double值,等于一个整数
public static double foor(double a )
返回大于或等于参数的最大double值,等于一个整数
public static int round(float)
四舍五人返回最接近参数的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)
System
概述
一个系统类,用来获取或设置系统信息
常用的属性和使用方法
属性
InputStream ips = System.in // 键盘录入
PrintStrem pts = System.out//输出流,向控制台打印数据
方法
public static void exit(int status)
终止当前运行的 Java 虚拟机,非零表示异常终止
public static long currentTimeMillis()
返回当前时间(以毫秒为单位)
Object
概述
超类;每个类都可以将 Object 作为超类
使用方法
new Object
都是通过对象调用
常见的方法
String :to string//返回对象的字符串形式
boolean :equals(obj);
注意
使用equals() 比较字符串,比较字符串的值
使用equals() 比较对象,比较的是对象的地址值
冒泡排序
概述
一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序
如果有n个数据进行排序,总共需要比较n-1次
每一次比较完毕,下一次的比较就会少一个数据参与
Arraays
- 概述
它是一个操作集合和数组的工具类,操作数组和集合时很方便。
- 使用方式
它里面没有构造方法,它的方法都是静态方法,所以直接使用类名操作方法
- 常用方法和属性
- String : toString(数组): 将数组转成字符串
- void : sort(数组),对数组进行默认排序:从小到大
|