`
蓝月儿
  • 浏览: 49818 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

父类与子类

 
阅读更多
父类与子类构造方法初始化的顺序,是先调用父类的构造方法,后调用子类的构造方法。子类是调用不到父类中的私有成员的。
这就涉及到java中的四种访问修饰符:private,只在本类中访问的到;默认的成员在同一个包中或子类可见;protected,在同一个包以及不同包的直接子类可见;public范围最广,任何地方可访问的到。
子类调用父类中的方法可以用super关键字调用,调用父类的构造方法是super()必须是在构造方法中的第一个语句。否则出现编译错误:
Constructor call must be the first statement in a constructor。
在本类的main方法中调用本类的一个非静态方法,仍要创建本类的一个对象,否则有编译错误。
static关键字的使用。static修饰属性,方法,语句块.并且static的部分是和类一起加载的,类中静态部分从上到下依次被加载。
例子的代码如下:

class father_class
{
	int a;
	int b;
	father_class()//构造方法中的参数
	{
		System.out.println("This is a father class");
	}
	void print()
	{
		System.out.println("这是一个父类!");
	}
}
class child_class extends father_class
{
	int ca;
	int cb;
	int cc;
	child_class()//方法中的参数
	{
		//super();
		System.out.println("This is a child class");
	}
	void show()
	{
		super.print();
		System.out.println("子类的show方法");
	}
}
public class pracsuper {

	/**
	 * @param args
	 */
	String s="子类访问不到父类的私有成员;通常的信息类方法定义为public,供外部调用," +"\n"+
			"static的main方法中只能调用静态的方法,若调用的是" +"\n"+
			"非静态的普通方法则需要创建方法所在的类的对象";
	int b,c;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
child_class cs=new child_class();
		System.out.println(".......");
		cs.show();
		pracsuper p=new pracsuper();
		System.out.println(p.getValue());
	}
public String getValue()
{
	return s;
}
}


运行程序,执行结果为:

This is a child class
.......
这是一个父类!
子类的show方法
子类访问不到父类的私有成员;通常的信息类方法定义为public,供外部调用,
static的main方法中只能调用静态的方法,若调用的是
非静态的普通方法则需要创建方法所在的类的对象
分享到:
评论

相关推荐

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

    ### 论JAVA继承机制中父类与子类的关系 #### 摘要 本文深入探讨了Java语言中的继承机制,并重点分析了父类与子类之间的关系。文章围绕子类继承父类成员的过程、成员变量及方法的赋值、重写、覆盖等问题展开讨论,...

    在父类获取子类属性

    在Java编程语言中,"在父类获取子类属性"是一个常见的需求,特别是在设计模式、继承和多态性等核心概念的应用中。这个主题涉及到面向对象编程的基本原理,特别是子类继承父类后如何访问和操作子类特有的属性。下面...

    子类、父类查询

    有关子类和父类。A是子类,Teacher是父类。A是Teacher 的一种(子类)会继承父类李非私

    java代码-使用java解决父类与子类的声明应用的源代码

    java代码-使用java解决父类与子类的声明应用的源代码 ——学习参考资料:仅用于个人学习使用!

    父类赋值给子类

    在编程领域,特别是面向对象编程中,"父类赋值给子类" 是一个常见的操作。C# 作为一种强大的面向对象的语言,提供了多种方式来实现这种继承关系下的数据复制。这里我们将深入探讨如何在 C# 中进行父类属性到子类属性...

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

    本文将深入探讨Java中的多态性,特别是“父类引用子类对象”的概念,以及这一特性如何在实际编码中体现。 ### 多态性概述 多态性主要通过方法的重写(Overriding)、重载(Overloading)和动态绑定(Dynamic Binding)来...

    浅谈Java中父类与子类的加载顺序详解

    以下是Java中父类与子类加载顺序的详细解释: 1. **静态初始化**: - 首先,JVM会加载类的静态部分。这意味着先加载所有静态变量的初始化,并执行静态初始化块(如果有的话)。在给定的例子中,无论父类还是子类,...

    java,定义父类和子类.pdf

    ### Java中的父类与子类概念详解 在Java编程语言中,继承是一种强大的特性,它允许我们创建新的类,这些新类会继承已有类的属性和行为。这种机制不仅能够提高代码的复用性,还能使得类之间的关系更加清晰、易于理解...

    JAVA 多态操作----父类与子类转换问题实例分析

    JAVA 多态操作----父类与子类转换问题实例分析 JAVA 多态操作中的父类与子类转换问题是 Java 编程语言中的一种重要概念。多态操作允许我们在编程中使用父类类型的引用来指向子类类型的对象,这种机制使得我们可以...

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

    Java中父类和子类之间的转换操作示例 Java 中父类和子类之间的转换操作是面向对象编程(OOP)中一个重要的概念。它允许开发者在不同的类之间进行类型转换,以便更好地实现继承和多态性。在 Java 中,父类和子类之间...

    Java中父类怎么调用子类的方法

    Java中父类调用子类的方法知识点总结 Java中父类调用子类的方法是面向对象编程中一个常见的问题,了解如何在Java中实现父类调用子类的方法对于编程开发者来说非常重要。本文将通过示例代码和详细的解释,介绍三种...

    C#子类舍弃属性转换为父类UtilSubToBase.cs

    利用C#反射将子类舍弃多余的属性转换为父类,用途比较少。

    父类引用指向子类对象

    当`main`方法在父类中,或者在与父类同包的其他类中时,可以访问父类和子类的`default`、`protected`、`public`属性和方法。如果`main`在其他包中,只能访问`public`属性和方法。 总的来说,父类引用指向子类对象是...

    【java】父类声明子类实例化.mhtml

    【java】父类声明子类实例化.mhtml

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

    2. **构造器与初始化**:子类对象在创建时会先调用父类的构造器,确保父类的状态得到正确初始化,然后执行子类自己的构造逻辑。 3. **变量隐藏**:如果子类和父类有同名的实例变量,子类变量会“隐藏”父类变量。...

    将子类引用赋给父类对象时,java虚拟主机并没有将那些非继承成员丢弃

    在Java编程语言中,"将子类引用赋给父类对象"是一种常见的多态性表现。这个过程被称为向上转型(Upcasting),它允许我们用父类引用指向子类实例,从而实现更通用的代码设计。然而,这并不意味着在转换过程中会丢失...

    java 简述父与子类的关系及构造方法

    本教程主要探讨了父类(超类、基类)与子类(派生类)之间的关系,以及它们如何共享属性和行为,同时讲解了构造方法的重要作用。 首先,父类和子类的关系是继承关系,它允许子类继承父类的特性,包括方法和变量。在...

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

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

Global site tag (gtag.js) - Google Analytics