zoukankan      html  css  js  c++  java
  • 每日日报7月20日

    1.今天学习了Final关键字和Abstract关键字

    * * final关键字 * 可以修饰:变量、类、方法 * * 1.被final修饰的变量,称为常量 * 常量在使用前必须赋值,但只能被赋值一次,初始化后不能再修改 * a.可以在声明时直接赋值 * b.也可以在声明后再赋值,但必须在构造方法或代码中赋值 * c.静态常量(static final修饰)也可以在声明后赋值,但必须在静态代码块中赋值 * 常量命名规范:大写 * * 2.被final修饰的方法 * 不能被子类重写 * * 3.被final修饰的类 * 该类不能被继承,即不能存在子类 * final类中的方法默认都是final方法 * * 4.被final修饰的参数 * 只能读取,不能被修改 * */ public class Test01 { final int c=2; //final修饰的成员属性没有初始值 final String name; final int d; final static int X; //静态常量 static final double PI=3.1415;//静态常量 public Test01(){ name="tom";//在构造方法中对final变量进行初始化 } { d=13;//在代码块中对final变量进行初始化 } static{ X=18; //在静态代码块中对静态常量进行初始化 } public static void main(String[] args) { final int a=5;//常量 //a=10; final修饰的变量不能被多次赋值 final int b;//空final b=25;//声明后再赋值 B bb=new B(); bb.show1(); bb.show2(); bb.print(5); } } /* * 父类 */ class A{ public void show1(){ System.out.println("父类中show1"); } //final修饰的方法不能被子类重写,但可以被子类继承 public final void show2(){ System.out.println("父类中的show2"); } } /* * 子类 */ class B extends A{ //重写父类的show1方法 public void show1(){ System.out.println("子类重写后的show1"); } //final修饰参数,只能读取,不能被修饰 public void print(final int num){ System.out.println(num); } }

    /* * abstract关键字 * 可以修饰:类、方法 * * 1.被abstract修饰的类,称为抽象类 * 不能被实例化,即不能使用new创建一个对象 * 抽象类可以有构造方法,但不是用来创建对象的,而是用来初始化成员属性 * * 2.被abstract修饰的方法,称为抽象方法 * 只有方法的声明,没有方法的实现 * 抽象方法必须在抽象类中 * 抽象类中可以有抽象方法,也可以没有抽象方法 * 子类必须实现父类中的抽象方法 * */ public class Test02 { public static void main(String[] args) { // 创建一个小学生对象 /* * Pupil pupil = new Pupil("张三", 7, "哭"); pupil.show(); pupil.play(); */ // 创建一个学生对象 // Student stu=new Student("李四",8);//Student是抽象类,不能被实例化 GradeTwo gt = new GradeTwo("王炜", 9, "丢沙包"); gt.play(); } } /* * Student父类,抽象类 */ abstract class Student { String name; int age; public Student(String name, int age) { super(); this.name = name; this.age = age; } public void show() { System.out.println("姓名:" + name + ",年龄:" + age); } // 抽象方法,不能有方法体,只有方法的声明 public abstract void play(); } /* * Pupil类,继承自Student 如果子类未实现父类中的所有的抽象方法,那么子类依然是一个抽象类 */ abstract class Pupil extends Student { String hobby; public Pupil(String name, int age, String hobby) { super(name, age); this.hobby = hobby; } public void show() { System.out.println("我是小学生,姓名:" + name + ",年龄:" + age + ",爱好:" + hobby); } // 实现父类中的抽象方法,即把抽象方法的方法体写了 /* * public void play(){ System.out.println("我正在打滚。。。"); } */ } /* * 二年级类,继承自小学生类 */ class GradeTwo extends Pupil { public GradeTwo(String name, int age, String hobby) { super(name, age, hobby); } public void play() { System.out.println("我正在丢沙包。。。"); } }

    2.没有遇到问题

    3.明天打算学习接口浅议

  • 相关阅读:
    Docker
    内存与缓存
    硬盘和内存的关系
    磁盘和硬盘、软盘
    mysql和redis的区别
    BZOJ 3110 k大数查询 (树套树)
    Codeforces 1303E Erase Subsequences (子序列匹配)
    Codeforces 1304E 1-Trees and Queries (树上距离+思维)(翻译向)
    BZOJ 2161 布娃娃(权值线段树)
    2019icpc徐州现场赛 H Yuuki and a problem (树状数组套主席树)
  • 原文地址:https://www.cnblogs.com/wanghaoning/p/13417346.html
Copyright © 2011-2022 走看看