class Parent{
static int ii= 1;
int i = 1;
public int getInt(){
return i;
}
public int getStaticInt(){
return ii;
}
}
class Child extends Parent{
static int ii= 2;
int i = 2;
public int getInt(){
return i;
}
public int getStaticInt(){
return ii;
}
}
public class Test2 {
public static void main(String args[]){
Parent p = new Child();
System.out.print(p.i);
System.out.print(p.ii);
System.out.print(p.getInt());
System.out.println(p.getStaticInt());
Child c = (Child) p;
System.out.print(c.i);
System.out.print(c.ii);
System.out.print(c.getInt());
System.out.print(c.getStaticInt());
}
}
输出结果:
1122
2222
实例变量 i,与类变量 ii 都不具有多态性。
分享到:
相关推荐
Java中的多态是面向对象编程的关键特性之一,它允许一个接口或者抽象方法被多个不同的类实现,从而使得代码更加灵活且可扩展。多态的概念基于一个接口可以有多种不同的实现方式,增强了程序的多样性和适应性。 在...
Java多态是面向对象编程的核心...Java多态的实际应用不仅限于上述示例,而是可以广泛地应用于各个领域,从简单的类继承到复杂的软件架构设计中。掌握多态这一概念对任何使用Java进行开发的程序员来说都是必不可少的。
这个"完全通源码"的压缩包很可能是为了展示如何在实际项目中应用这些多态特性,包括但不限于创建类层次结构、实现接口、调用重写的方法等。通过分析和学习这些源码,开发者可以更好地掌握C#的多态机制,提升编程技能...
在Java中,多态主要体现在方法重写(Override)和方法重载(Overload)。 - **方法重写**:子类可以重写父类的非私有方法,提供自己的实现。这样,当使用父类引用指向子类对象时,调用的是子类的重写方法,实现动态...
在Java中,多态性体现在两个方面:静态多态(编译时多态)和动态多态(运行时多态)。 - **编译时类型**:这是你在编写代码时声明的类型,比如`Person p = new Student();`这里的`Person`就是编译时类型,编译器会...
在Java中,多态主要通过方法重载(overloading)和方法重写(overriding)来实现。 - **方法重载**: - 参数列表必须不同(数量、类型或顺序)。 - 方法名相同。 - 与方法的修饰符和返回类型无关。 - 调用原理...
进行本实验之前,需要具备一定的Java基础知识,包括但不限于: - 变量、数据类型和运算符的基础知识。 - 控制流语句(如if、for、while等)的使用。 - 类和对象的概念,包括类的定义、对象的创建等。 - 继承和封装的...
面向对象程序设计是Java语言的核心特性之一,它包括三个主要原则:封装、继承和多态。在本讲中,我们将深入探讨其中的继承与多态。 首先,回顾面向对象设计中的基本概念。封装是将数据和操作这些数据的方法捆绑在...
4. **多态**:多态性是指同一种行为可以有不同的表现形式,这在Java中主要体现在方法的覆盖(Override)和接口的实现(Implements)。它提供了代码的灵活性,使得程序在运行时可以处理多种类型的对象。 5. **抽象类...
在Java编程语言中,多态性(Polymorphism)是...记住,多态不仅限于方法调用,还可以应用于变量,例如引用类型变量可以引用其实例化的任何子类对象。在设计和编写代码时,合理利用多态可以提高代码的可读性和可维护性。
标题 "JAVA方法" 提供的信息表明,我们即将探讨的是关于Java编程语言中的方法或函数相关的知识。在Java中,方法是实现特定功能的代码块,它们可以被重用,有助于提高代码的可读性和可维护性。以下是关于Java方法的...
- **default**:当成员变量或方法使用`default`修饰符时,表示其可见性仅限于同一包内的其他类。 - **protected**:`protected`修饰符表示成员可以在同一包内或不同包的子类中访问。 #### 五、`equals`方法与`==` ...
Java 中的关键字包括但不限于:abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、if、goto、...
在Java中,多态有两种形式:编译时多态(方法重载)和运行时多态(方法重写)。编译时多态是通过方法名和参数列表来决定调用哪个方法;运行时多态则是通过父类引用指向子类对象,调用子类覆盖的父类方法,实现动态...
这些练习题覆盖了Java的核心概念,包括但不限于变量、数据类型、控制结构、函数、类与对象、继承、多态以及异常处理等关键知识点。 1. 变量与数据类型:在Java中,变量是用来存储数据的容器,数据类型决定了变量...
Java中实现多态主要通过继承和接口,通过向上转型,调用在父类中声明的方法,实际运行时根据对象的真正类型来调用相应的方法。 24. abstract class和interface的区别? abstract class可以包含非抽象方法,而...
多态是指同一个接口或方法在不同的上下文中表现出不同的行为。它是OOP的关键特性之一,使代码更加灵活和可扩展。 ##### 3.1 多态的实现方式 - **编译时多态**:通常通过函数重载或运算符重载实现。 - **运行时多态...
public成员可以被任何地方访问,protected成员仅限于本包和子类,缺省(包访问权限)只允许在同包内访问,而private成员只能在定义它的类内部访问。合理设置访问权限有助于保护类的内部状态,减少错误发生,并提高...
习题答案通常涵盖了书中讲解的各种主题,包括但不限于基本语法、类与对象、封装、继承、多态、异常处理、输入输出流、集合框架、线程、网络编程、数据库连接等。这些知识点构成了Java编程的核心部分,是每一位Java...