Java教程:成员变量隐藏与方法重写解析

需积分: 32 2 下载量 18 浏览量 更新于2024-07-13 收藏 1.95MB PPT 举报
"成员变量的隐藏和方法的重写-Java教程:对象和接口" 在Java编程中,对象和接口是面向对象编程的核心概念。对象是类的实例,它们代表了现实世界中的实体,而类则是对象的蓝图,定义了对象的属性(成员变量)和行为(方法)。当一个类从另一个类继承时,子类可以重写或隐藏父类的成员变量和方法。 成员变量的隐藏指的是子类定义了一个与父类同名的成员变量,这会导致子类对象在访问该变量时,优先使用子类自己的定义,而非父类的定义。例如,如果父类有一个`int age`,子类也定义了一个`int age`,那么在子类对象中,`age`将指向子类的变量,而不是父类的。 方法的重写发生在子类定义了一个与父类方法同名、同返回类型且参数列表相同的方法时。这使得在运行时,如果通过子类对象调用这个方法,系统会执行子类重写后的方法,而不是父类的原方法。例如,父类有一个`void speak()`方法,子类重写为`void speak()`并实现不同的功能,那么调用子类对象的`speak()`会执行子类的实现。 在重写父类方法时,有一些规则需要注意。首先,不能降低方法的访问权限,也就是说,如果父类的一个公共方法被重写,子类重写的方法必须保持公共访问级别或更高。其次,子类可以通过`super`关键字来访问和调用父类被覆盖的方法或成员变量,如`super.someMethod()`或`super.someVariable`。 此外,Java中的`static`关键字用于声明类级别的变量和方法,它们不属于任何特定的对象,而是属于类本身。`this`关键字则用于引用当前对象,常在方法中使用以区分成员变量和局部变量。访问权限(public, protected, private以及默认)决定了类、成员变量和方法的可见范围。 类的继承允许子类继承父类的属性和行为,增强了代码的复用性。对象的上转型对象(向上转型)是指将子类对象赋值给父类类型的引用,这样可以调用父类中的方法,但无法调用子类特有的方法。多态性是面向对象的另一个关键特性,它允许我们使用父类引用操作不同子类的对象。 `abstract`类和`abstract`方法是用于创建抽象类和方法,它们没有具体的实现,需要由子类来提供。接口(Interface)是一种完全抽象的类,只包含常量和抽象方法,用于定义行为规范。内部类是嵌套在其他类内部的类,可以是静态或非静态的,它们可以访问外部类的私有成员。匿名类是在没有类名的情况下直接实例化的类,通常用于简化代码。 异常类是处理程序运行时可能出现错误的结构,`Class`类用于获取关于Java对象和类的信息。基本类型的类包装器(如Integer, Double等)用于将原始类型转换为对象,便于在需要对象的地方使用。反编译器(如Javap)用于查看字节码,文档生成器(如Javadoc)用于生成API文档,而`.jar`文件是Java的归档文件,用于打包和分发Java应用程序或库。 Java的面向对象特性提供了强大的工具来构建可扩展、可维护的代码,其中成员变量的隐藏和方法的重写是实现这一目标的关键机制。