`

变量的多态性问题

阅读更多
public class DuilThread extends Thread{

	/**
	 * @param args
	 */
	static Object o=new Object();
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub

	         Thread t=new DuilThread("a");
		Thread t2=new DuilThread("b");
		Thread t3=new DuilThread("c");
		Object o2=DuilThread.o;
		System.out.println(t.o==t2.o);//编译错误 !无法识别o	
		t.start();
		t2.start();
		t3.start();
	}

其实这里牵扯到  关于继承类的变量的问题
变量值不存在继承!如果父类有个变量i  子类也有个!但不符合多态性!

再看这里:t 是Thread的对象  Thread中没这个变量!
所以报错!
只要把
Thread改成DuilThread!就可以!
改正后,由于static变量是和class实例关系的!所以这三个对象的o变量是相同的!
分享到:
评论

相关推荐

    C++实验报告多态性.doc

    【实验报告——C++中的多态性】 在C++中,多态性是面向对象编程的一个核心特性,它允许我们使用一个基类的指针或引用来调用派生类中重写的方法,从而实现不同类对象的统一处理。本实验报告主要探讨了如何在C++中...

    C++中多态性的演示

    C++中的多态性示例 在面向对象编程(Object-Oriented Programming)中,多态性是指同一个函数或操作符可以根据对象的类型或类别而具有不同的行为。C++语言通过函数重载、运算符重载和虚函数来实现多态性。本文将...

    多态性实验报告-实验七

    ### 多态性实验报告-实验七 #### 实验背景 本实验是《面向对象程序设计》课程中的一个环节,旨在通过实践加深学生对多态性的理解和应用能力。多态性是面向对象编程的一个核心特性,它允许子类对象可以被当作父类...

    c++多态性与虚函数练习题

    ### C++多态性与虚函数知识点解析 #### 一、多态性的概念 多态性是面向对象编程的一个核心特性,它允许我们通过基类的接口来操作派生类的对象。这种特性使得代码更加灵活且易于扩展。在C++中,多态性主要通过虚函数...

    实验四 多态性及综合应用

    ### 实验四 多态性及综合应用 ...通过以上实验内容的实现,学生不仅能够深入了解C++中的多态性概念,还能掌握如何在实际编程中应用这些概念和技术来解决问题。这对于后续的学习和发展都具有重要的意义。

    实验四 类的多态性的应用 .docx

    面向对象程序设计中的多态性应用 在面向对象程序设计中,多态性是指同一个操作可以对不同的数据类型进行操作,而不需要关心具体的数据类型。这要求程序员能够定义可以对不同的数据类型进行操作的函数。这种函数称为...

    java多态性

    在Java中,多态性的一个重要体现是父类引用可以指向子类对象,这是因为子类继承了父类的所有成员变量和方法,从而可以使用父类的引用来访问子类的对象。但是,子类对象不能直接指向父类,需要使用强制转换来实现类型...

    C#多态性的介绍

    ### C#中的多态性详解 #### 一、多态性的概念 在C#中,多态性(Polymorphism)是一种重要的面向对象编程特性,它允许子类重写或扩展父类的方法,从而实现同一接口的不同实现方式。多态性意味着一个接口可以具有...

    JAVA面向对象编程第四章继承性和多态性 课件.ppt

    JAVA面向对象编程第四章继承性和多态性课件 本节课程主要讲解Java面向对象编程的第四章内容,即继承性和多态性。继承性是面向对象编程的基本特性之一,指的是子类可以继承父类的成员变量和成员方法,实现代码的重用...

    Java多态性实验报告

    ### Java多态性实验知识点解析 #### 实验背景与目的 本次实验主要目的是让学生通过实践操作,深入理解Java中的多态性概念,并掌握如何利用多态性实现代码的灵活性和可扩展性。实验中,学生将通过编写一个处理复数...

    java多态性.pdf

    Java 多态性 Java 的多态性是面向对象编程的三个特征之一,另外两个是封装和继承。多态性是指同一个方法可以根据不同的对象而有不同的行为,或者说同一个方法可以根据不同的对象而有不同的实现。 Java 之所以引入...

    深入浅析c#静态多态性与动态多态性

    深入浅析C#静态多态性与动态多态性 多态性是面向对象编程的一种基本概念,指的是同一个对象在不同的情况下可以有不同的行为。C#语言提供了两种多态性:静态多态性和动态多态性。 静态多态性是指在编译时,函数和...

    Java多态性探悉()

    Java的多态性是面向对象编程的一个核心特性,它允许程序在不关心具体类型的情况下处理对象。在Java中,多态性主要体现在两个方面:方法的重写(Overriding)和方法的重载(Overloading)。本文将深入探讨Java多态性...

    Java面向对象(进阶)- 面向对象特征之三:多态性

    Java中的成员变量没有多态性,即子类对象引用不能覆盖父类的非静态成员变量。 ### 五、面试题 面试题通常会考察对多态的理解,如何在实际场景中应用多态,以及如何处理多态带来的问题等。 综上所述,多态性是Java...

    C++继承,虚函数与多态性专题

    本文分两部分即继承和虚函数与多态性,本文第一部分详细讲解了继承时的构造函数和析构函数的问题,父类与子类的 同名变量和函数问题,最后介绍了多重继承与虚基类。本文第二部分重点介绍了虚函数与多态性的问题,...

    C++实验之多态性实验报告

    在C++编程语言中,多态性是面向对象编程的核心特性之一,它允许我们通过基类的指针或引用调用派生类的成员函数,实现了接口的统一和代码的复用。本实验旨在深入理解和掌握多态性的实现,特别是通过虚函数实现的动态...

    c++实验多态性实验报告.doc

    总结来说,这个实验涵盖了C++中的多态性、函数重载、运算符重载、抽象类和虚函数等核心概念,旨在培养学生的面向对象编程技能和理解动态多态性在实际问题解决中的作用。通过这样的实践,学生可以更好地掌握C++语言的...

    类的继承、派生、多态性C++课程实验报告.pdf

    C++类的继承、派生和多态性实验报告 本实验报告的主要内容是探讨C++语言中的类的继承、派生和多态性。实验的目的是掌握类的继承与派生、类的虚拟继承避免多重派生的歧义性、通过虚函数实现多态性的方法和掌握动态...

    成员的初始化顺序和多态性

    ### 成员的初始化顺序 #### 实验背景与目标 在Java编程语言中,...通过本次实验,我们不仅掌握了成员变量的初始化顺序,还深入理解了Java中多态性的概念及其具体应用。这对于编写灵活、可扩展的代码具有重要意义。

    java成员变量覆盖问题

    3. **多态性只适用于方法:** Java中的多态性仅适用于方法,不适用于成员变量。成员变量是静态绑定的,而方法则是动态绑定的。 了解这些概念对于正确地设计和实现面向对象的程序至关重要。希望本文能帮助您更好地...

Global site tag (gtag.js) - Google Analytics