final关键字有三种使用场景: final修饰类 final修饰方法 final修饰变量 final修饰的类,不能再有子类继承. 只要满足以下条件就可以把一个类设计为final类: 不是专门为继承而设计的类,确信该类不会被扩展 出于安全考虑,不希望被再次修改 final修饰的方法,可以被子类调用,但是不能被子类方法覆盖. 满足以下条件将一个方法设计为final方法: 不希望子类方法对父类的方法进行覆盖. 构造器中调用的方法(初始化方法),一般使用final关键字 final修饰的变量,只能被赋…
继承 在java中可以通过继承提高代码的复用率. 例如A继承了B,就可以是 例如,首先有一个类似Person,这个类中有有一些属性和方法,我们再新建一个Student类,其中有一部分属性和方法与Person类中的相同,这个我们就可以通过继承来提高代码复用率. package cn.hcf.pro3; public class TestExtends{ public static void main(String[] args){ Student stu = new Student(); //St…
之前说过了Java中面向对象的第一个特征--封装,这篇来讲它的第二个特征--继承.一般在程序设计中,继承是为了减少重复代码. 继承的基本介绍 public class Child extends Parent{ //TODO } 使用继承后,子类中就包含了父类所有内容的一份拷贝. 子类与父类重名成员的访问. 重名属性 当子类与父类中有重名的数据成员时,如果使用子类对象的引用进行调用,那么优先调用子类的成员,如果子类成员中没有找到那么会向上查找找到父类成员.例如 public class Pare…
IO流:就是input/output输入/输出流. 一.字节流操作文件的便捷类:FileWriter和FileReader import java.io.FileWriter; import java.io.IOException; public class FileWriterDemo { private static final String LINE_SEPARATOR=System.getProperty("line.separator"); public static voi…
final:意为最终,不可变,是一个修饰词 有时候一个类地功能被开发好了,不想让子类重写,修改,这里就会用到final关键字 final修饰类: 不可以被继承,但是可以继承其他类 示例: public final class Fu { public void show(){ System.out.println("最终类的方法"); } //这个类不能被继承 //使用方法不变 } public class Test { public static void main(String[]…
一.继承的基础 在Java术语中,被继承的类叫超类(superclass)或者父类,继承超类的类叫子类(subclass). 举例说明: class Box { public double width; public double height; public double depth; //重载构造方法 public Box(Box ob) { width = ob.width; height = ob.height; depth = ob.depth; } public Box(double…
继承的特点 单继承:每个子类最多只有一个直接父类,注意是直接父类,间接父类个数不限 注意父类的概念:A-->B-->C-->D,在这里,ABC都是D的父类,C是D的直接父类,AB是D的间接父类 父类和子类是一般和特殊的关系:子类扩展了父类,子类是一种特殊的父类 Object是所有类的直接或间接父类:定义一个类时,若没有直接指定父类,则默认继承Object类 子类从父类继承了哪些要素 子类不继承父类的构造方法,但是总要调用父类的构造方法 子类继承了父类的实例变量和实例方法.类变量和类方法,…
父类(基类):动物 子类:猫.狗.狼.老虎 如果子类继承于父类,则会自动拥有父类的所有非私有属性和方法,不会继承构造方法 父类和子类要满足一种关系:子类是父类的一种 Java中只支持单继承:一个子类只能有一个父类 关键字:extends 语法: public class A extends B{  //A继承于B }…
1.介绍 反射为Java程序在执行时提供了动态的能力.利用反射能够在执行时对程序进行动态的控制.本篇博客着重解说一下Java中的反射. 2.Class类的使用 在Java执行过程中,每一个类被载入后都会在内存中产生一个相应的Class类对象,因此通过Class类的对象就能够拿到有关类的相关信息. 以下演示一个实例. <span style="font-family:SimSun;font-size:18px;">package com.Reflect; //用来被载入类的父…
通过在类的声明中加入extends子句创建一个子类并继承父类的成员变量和方法.如: class SubClass extends SuperClass{ ... } 若SuperClass是另一个类的子类,那么SubClass也是它的间接子类. 子类可以继承父类中访问权限为public.protected.default的成员变量和方法.不能访问权限为private的成员变量和方法. 如果省略extends,那么将会继承java.lang.Object类.…