Java基础学习(二)

150 阅读4分钟

1.资料的查找方法

在Eclipse中shift + ctrl + t 可以打开查找列表,查看类和方法的源码
在打开的源码文件中 ctrl + o 可以再一次打开查找列表,进一步查找类中包含的方法

2.可变个数的形参:

格式:类型 ... 变量名
用在方法声明的形参列表中,如int sum(int ... arr)
表示允许传入可变个数的参数(包括0个)
实际效果等同于以arr为变量名的对应类型数组

3.权限修饰符的使用

Java中提供了四种权限修饰符:private, 缺省, protected, public(按权限从小到大排序)

private:只能由类内成员使用
缺省:类内部成员,包内成员都可以使用
protected:类内部成员,包内成员,不同包的子类成员都可以使用
public:只要是同一个工程下就可以使用

以上的四种权限修饰符,属性、方法、局部变量都可以使用
但是对于类,只能使用 缺省和public 修饰

4.this关键字的使用

1)用来表示当前对象的成员(属性或方法)
多用于类内属性与形参重名的情况,用this关键字指明表示的是类内的属性而不是形参
使用格式:this.属性,this.方法

2)在构造器中使用时
要在某个构造器执行时调用另一个构造器,使用:
this(); //表明调用空参数的构造器(要求已定义)
this(参数); //表明调用对应形参列表的构造器(要求已定义)

这样的操作必须放在构造器代码内的首行,且最多只能用一个
不能调用自己

5.Eclipse的会用到的快捷键

alt + / (补全声明)

6.重写(overwrite)

子类通过重写可以定义区别于父类的同名方法
重写的要求:
1)函数名和形参列表都要和父类中的对应方法保持一致
2)重写后的方法的权限修饰符必须大于等于父类中的同名方法
3)重写的方法抛出的异常类型必须小于等于原方法抛出的异常类型
4)重写的方法的返回值必须和原方法保持一致(如果原方法的返回值是引用数据类型,则还可以是它的子类)
5)父类的方法如果由private修饰,则不能重写

7. super关键字的使用

用来调用父类中的属性、方法
1)用于父类、子类出现重名属性和重写方法的时候
2)调用父类中的构造器:super(参数) //同样必须在首行
子类中的构造器至少有一个默认或显式地调用了父类中的构造器

8.类的多态性

声明一个父类的对象时,调用子类的构造器:
Person p1 = new Man(); (其中Man是Person类的子类)

1)使用多态性定义出的父类的对象,无法使用子类中的独有的属性和方法
2)当使用父类子类都有的方法时,使用的是子类的方法
3)当使用父类子类都有的属性时,使用的是父类的属性
4)使用多态性的好处在于,不需要分别定义以子类对象为形参的方法,只需要定义一次以父类为形参的方法,子类就可以自由调用这个方法,并且在这个方法中调用的是子类中的定义
5)总体而言,使用多态性时,父类只是作为一个媒介,实际使用的整个过程都只涉及到子类(多态是一个运行时行为)

9.instanceof 的使用

a instanceof A //判断a是否是A的一个实例,返回值为boolean类型

若返回true,则a同时也是A的父类的一个实例,

10.包装类的使用

1)基本数据类型都可以通过其对应的包装类变为一个类的实例,可以使用类的方法

2)格式举例:
int num = 123;
Integer int1 = new Integer(num);
System.out.println(int1.toString()); //调用了object类中的方法
System.out.println(int1); //包装成类后依然可以当基本数据类型输出

3)自动装箱与自动拆箱:
在JDK5.0后,提供了自动装箱的功能:
Integer int1 = 123;
这样就自动完成了包装类的封装,不需要调用Integer类中的构造器

同样,将包装类转回基本数据类型时,也是直接赋值就可以了:
int num = int1;

4)String类型和基本数据类型、包装类的相互转换
String str = String.valueOf(num); //转换为String类型
int num = Integer.parseInt(str); //转换为基本数据类型