final关键字与abstract关键字

final关键字/* * final关键字 * 可以修饰:变量、类、方法 * * 1.被final修饰的变量,称为常量 * 常量在使用前必须赋值,但只能被赋值一次,初始化后不能再修改 * a.可以在声明时直接赋值 * b.也可以在声明后再赋值,但必须在构造方法或代码中赋值 * c.静态常量(static final修饰)也可以在声明后赋值,但必须在静态代码块中赋值 * 常量命名规范:大写 * * 2.被final修饰的方法 * 不能被子类重写 * * 3.被final修饰的类 * 该类不能被继承,即不能存在子类 * final类中的方法默认都是final方法 * * 4.被final修饰的参数 * 只能读取,,不能被修改 * */{String name;final int d;X; PI=3.1415;//静态常量public Test01(){name=”tom”;//在构造方法中对final变量进行初始化}{d=13;//在代码块中对final变量进行初始化}static{X=18; //在静态代码块中对静态常量进行初始化}main(String[] args){b;//空finalb=25;//声明后再赋值B bb=new B();bb.show1();bb.show2();bb.print(5);}}/* * 父类 */show1(){System.out.println(“父类中show1”);}show2(){System.out.println(“父类中的show2”);}}/* * 子类 */ show1(){System.out.println(“子类重写后的show1”);}print(final int num){System.out.println(num);}}abstract关键字/* * abstract关键字 * 可以修饰:类、方法 * * 1.被abstract修饰的类,称为抽象类 * 不能被实例化,即不能使用new创建一个对象 * 抽象类可以有构造方法,但不是用来创建对象的,而是用来初始化成员属性 ** 2.被abstract修饰的方法,称为抽象方法 * 只有方法的声明,没有方法的实现 * 抽象方法必须在抽象类中 * 抽象类中可以有抽象方法,也可以没有抽象方法 * 子类必须实现父类中的抽象方法 **/{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父类,抽象类 */{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);}play();}/* * Pupil类,继承自Student 如果子类未实现父类中的所有的抽象方法,那么子类依然是一个抽象类 */ 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(“我正在打滚。。。”); }*/}/* * 二年级类,继承自小学生类 */ Pupil{public GradeTwo(String name, int age, String hobby){super(name, age, hobby);}public void play(){System.out.println(“我正在丢沙包。。。”);}}

在繁华中体会热闹;若是厌倦了喧嚣,寻一处宁静的幽谷,

final关键字与abstract关键字

相关文章:

你感兴趣的文章:

标签云: