`
冰红茶
  • 浏览: 14113 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

父类,子类的变量和方法

阅读更多
package com.fea.test.init;

public class Father_variable {
	public static String static_var="Father_static_var";
	public 	String public_var="Father_public_var";
			String friendly_var="Father_friendly_var";
	private String private_var="Father_private_var";
	public String getPrivate_var() {
			return private_var;
	}
	public void public_method() {
		System.out.println("Father_public_method");
	}
	private void private_mehod(){
		System.out.println("Father_private_mehod");
	}
	protected void protect_method(){
		System.out.println(friendly_var);
		System.out.println("Father_protect_method");
	}
	public void dp(){
		private_mehod();
	}

}

子类:
package com.fea.test.init;

public class Child_variable extends Father_variable{
	public static String static_var="Child_static_var";
	public 	String public_var="Child_public_var";
			String friendly_var="Child_friendly_var";
	private String private_var="Child_private_var";

	public String getPrivate_var() {
		return private_var;
	}
	public void public_method() {
		System.out.println("Child_public_method");
	}
	private void private_mehod(){
		System.out.println("Child_private_mehod");
	}
	protected void protect_method(){
		System.out.println("Child_protect_method");
	}
	public void dp(){
		System.out.println(public_var);
	}
	public static void main(String[] args) {
		Father_variable cv= new Child_variable();
		System.out.println(cv.public_var);
		System.out.println(cv.static_var);
		cv.dp();
		cv.protect_method();
		cv.public_method();
		/**
		 *
	   	 	属性是按类型(句柄)去访问的,方法是按对象访问的
		 *这里提出的覆盖并不是传统意义的覆盖,只是父类的属性或者方法隐藏了而已,隐藏的程度与关键字public,protect,private有关
		 *如果要调用父类的属性或者方法,可以用super.
		   1. 由于private变量受访问权限的限制,它不能被覆盖。
		   2. 属性的值取父类还是子类并不取决于我们创建对象的类型,而是取决于我们定义的变量的类型。
		   3. friendly、protected和public修饰符并不影响属性的覆盖。
		   4. 静态变量和静态常量属于类,不属于对象,因此它们不能被覆盖。
		   5. 常量可以被覆盖。
		   6. 对于基本类型和对象,它们适用同样的覆盖规律。
		   7.在方法中访问属性时,访问的是该对象的属性,如果该对象没有该属性,访问的则是父类对象的属性
		 */
	}
}

分享到:
评论

相关推荐

    父类赋值给子类

    在 C# 中,父类(也称为基类或超类)是定义了一组属性和方法的类,而子类(也称为派生类)是从父类继承并可能添加更多特性的类。通过继承,子类可以重用父类的代码,同时扩展其功能。 当需要将父类的对象赋值给子类...

    java 子类对象赋值给父类对象的使用

    3. **变量隐藏**:如果子类和父类有同名的实例变量,子类变量会“隐藏”父类变量。通过父类引用访问这些变量时,实际访问的是父类的变量,而非子类的。 4. **类型转换**:虽然父类引用可以指向子类对象,但反过来...

    java 静态非静态 字段方法 子类父类构造_初始化顺序!

    java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    子类可以调用父类.pdf

    如果一个类继承一个父类,那么子类会拥有父类所规定的所以成员 子类还可以拥有父类没有的独有成员 父类可以完成的任务,子类对象也可以完成 子类可以调用父类Person p= new ...//说明不可以调用子类的方法,还是父类

    论JAVA继承机制中父类与子类的关系

    在Java中,子类可以通过以下方式重写父类的属性和方法: - **数据成员的重写**:当子类定义了一个与父类同名的数据成员时,子类成员将隐藏父类成员,即在子类中默认情况下无法直接访问父类成员。 - **方法的重写**...

    java多态性详解——父类引用子类对象

    尽管我们使用 `Shape` 类的引用变量来指向 `Circle` 和 `Rectangle` 对象,但在调用 `area()` 方法时,实际上执行的是子类中重写的方法。这正是多态性的体现,即通过父类引用可以操作子类对象,并且能够自动调用子类...

    java中的继承(子类调用父类构造方法还不懂).doc

    在 Java 中,使用 `extends` 关键字可以实现继承关系,子类可以继承父类的属性和方法,并可以重写父类的方法。使用 `super` 关键字可以引用父类的成分,访问父类中定义的属性和方法。 在 Java 中,可以使用多态性来...

    父类引用指向子类对象

    在面向对象编程语言中,子类继承自父类时会自动拥有父类的所有非私有成员(包括属性和方法)。这意味着子类可以被视为是父类的一种特殊形式,即“子类是一种特殊的父类”。因此,可以通过父类的引用变量来操作子类...

    圣诞树代码编程python-23-子类重写父类同名属性和方法.ev4.rar

    在Python编程中,继承是面向对象编程的一个重要概念,它允许我们创建一个子类(派生类),这个子类可以继承父类(基类)的所有属性和方法。在这个"圣诞树代码编程python-23-子类重写父类同名属性和方法"的主题中,...

    java反射操作父类所有属性和方法

    ### Java反射操作父类所有属性和方法 #### 一、引言 在Java编程语言中,反射(Reflection)是一项强大的特性,它允许程序在运行时动态地获取类的信息,并能够直接操作这些信息。通过反射,我们可以获取类的字段、...

    Java编程关于子类重写父类方法问题的理解

    Java编程关于子类重写父类方法问题的理解 Java编程中,子类重写父类方法是非常重要...子类重写父类方法是Java编程中非常重要的概念之一,我们需要了解子类重写父类方法的规则和机制,以便更好地理解和应用Java编程。

    C#中子类调用父类的实现方法

    在某些情况下,我们需要在子类中调用父类的实现方法,以保持代码的连贯性和一致性。本篇将详细讲解C#中子类如何调用父类的实现方法。 首先,我们来看一下通过子类无参构造函数创建子类实例的情况。例如,有一个父类...

    Java中父类和子类之间的转换操作示例

    这意味着,我们可以将父类对象赋值给子类引用变量,然后使用子类引用变量访问子类中的方法和变量。例如,在上面的代码中,我们使用了 `People` 类作为父类,然后创建了一个 `Chinese` 类作为子类。我们可以使用 `...

    Java中的方法和变量在继承时的覆盖问题

    变量和方法覆盖和隐藏的不同:一个类的实例无法通过使用全局名或者强制自己转换为父类型,以访问父类中被隐藏的方法,然而强制转换子类为父类型之后,可以访问父类中被隐藏的变量。另外静态方法不能覆盖父类的实例...

    Python子类继承父类构造函数详解

    通过继承,一个类(称为子类)可以从另一个类(称为父类或基类)继承属性和方法。继承不仅可以提高代码的复用性,还可以帮助开发者构建出更加灵活和可扩展的程序结构。在继承的过程中,构造函数的使用尤为重要。构造...

    方法和变量在继承时的覆盖和隐藏问题

    而方法隐藏则意味着子类定义了一个与父类同名但签名不同的方法,或者定义了一个与父类同名的变量,这导致父类中的同名方法或变量不再直接可用。 具体到Java语言,方法覆盖(即方法重写)有一些限制: 1. 子类中的...

    子类对象构建调用父类的构造方法

    程序中描述了子类对象构建调用父类的构造方法,以及类变量和实例变量创建的不同过程

    再次详细说明在继承中的程序执行顺序,子类与父类到底哪个先执行

    它允许子类从父类中继承属性和方法,从而实现代码的重用和扩展。本文将深入探讨在继承中的程序执行顺序,以及子类与父类的执行顺序问题。 首先,我们需要了解Java或Python等面向对象语言中类的构造过程。当一个类...

    Java语言中变量和方法的分析及其应用.pdf

    子类可以覆盖父类的变量和方法,但是这需要遵守一定的规则和规范,否则可能会出现意想不到的错误。同时,静态变量和静态方法的应用也需要注意,它们可以提高程序的性能,但是也需要避免滥用。 变量和方法是Java语言...

Global site tag (gtag.js) - Google Analytics