Scanner
next() 会自动去掉空格 nextLine 会保留空格,当按enter键后直接输出所有内容 scanner.hasNextXXX() 判断输入格式 StringTokenizer 可以得到控制台空格的数据
异常处理
finally不一定被执行,,例如 catch 块中有退出系统的语句 System.exit(-1); finally就不会被执行
面向对象
继承
子类继承父类
父类所有属性被子类沿用,同时子类又有区别于父类的独有属性。(private中的属性不能被子类继承)
单继承,多重继承,不同类能继承同一类
构造方法(带有参数的构造方法) 类 对象 创建对象(声明,实例化,初始化) 构造器
super 与 this 关键字
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。
final关键字
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
####构造器结合super this使用
package js_ecu_app;
/**
* @author Liyongzhe
* @date 2021/3/31_14:39
*/
public class SuperAndThis {
//父类
static class SuperClass{
private int n;
//无参构造器
SuperClass(){
System.out.println("SuperClass()");
}
//有参构造器
SuperClass(int n){
System.out.println("SuperClass(int n)");
this.n = n;
}
}
//子类继承
static class SubClass extends SuperClass{
private int n;
//子类无参构造
SubClass(){
System.out.println("SubClass()");
}
//子类有参构造
SubClass(int n){
super(300);
System.out.println("SubClass(int n)"+n);
this.n = n;
}
}
//子类继承
static class SubClass2 extends SuperClass{
private int n;
//子类无参构造
SubClass2(){
System.out.println("SubClass()");
}
//子类有参构造
SubClass2(int n){
super(300);
System.out.println("SubClass(int n)"+n);
this.n = n;
}
}
public static void main(String[] args) {
System.out.println("------SubClass 类继承------");
SubClass sc1 = new SubClass();
SubClass sc2 = new SubClass(100);
System.out.println("------SubClass2 类继承------");
SubClass2 sc3 = new SubClass2();
SubClass2 sc4 = new SubClass2(200);
}
}
运行之后输出结果
------SubClass 类继承------
SuperClass()
SubClass()
SuperClass(int n)
SubClass(int n)100
------SubClass2 类继承------
SuperClass()
SubClass()
SuperClass(int n)结论
当子类创建对象时会先调用父类的无参构造方法,再调用自己的无参构造方法。携带参数是创建也是一样的。
重写
子类重写父类中允许访问有的方法,目的是定义自己特有的行为属性;
重载
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

京公网安备 11010502036488号