鸣剑--永生

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) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

多态

百看不厌之JAVA基础 文章被收录于专栏

这是盗版的菜鸟教程

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务