java建立子类方法总结

Java在构造函数中,第一行会先调用父类中构造函数进行初始化。父类初始化完毕后,再对子类的属性进行显示初始化。进行子类构造函数的特定初始化。初始化完毕后,将地址值赋值给引用变量Person p。本文附带建立子类示例。

Person p = new Person();

1,JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况下).
2,在堆内存中开辟空间,分配地址。
3,并在对象空间中,对对象中的属性进行默认初始化。
4,调用对应的构造函数进行初始化。
5,在构造函数中,第一行会先调用父类中构造函数进行初始化。
6,父类初始化完毕后,再对子类的属性进行显示初始化。
7,进行子类构造函数的特定初始化。
8,初始化完毕后,将地址值赋值给引用变量Person p.

例:

class Fu

{

  Fu()

  {

    super();

    show(); //通过结果可以看出,子父类有同名show方法,调用的是子类show方法。

    return;

  }

  void show()

  {

    System.out.println("fu show");

  }

}

class Zi extends Fu

{

  int num = 8;

  Zi()

  {

    super();

    //-->通过super初始化父类内容时,子类的成员变量并未显示初始化。等super()父类初始化完毕后,

    //才进行子类的成员变量显示初始化。

    System.out.println("zi cons run...."+num);

    return;

  }

  void show() 

  {

    System.out.println("zi show..."+num);

  }

}

class ExtendsDemo5 

{

  public static void main(String[] args) 

  {

    Zi z = new Zi(); 

    z.show();

  }

}
(0)

相关推荐

  • java子类继承父类实例-披萨的选择实现代码

    编写程序实现比萨制作.需求说明编写程序,接收用户输入的信息,选择需要制作的比萨.可供选择的比萨有:培根比萨和海鲜比萨. 实现思路及关键代码 1)分析培根比萨和海鲜比萨 2)定义比萨类 3)属性:名称.价格.大小 4)方法:展示 5)定义培根比萨和海鲜比萨继承自比萨类 6)定义比萨工厂类,根据输入信息产生具体的比萨对象 Pizza.java package zuoye; import java.util.Scanner; //父类 public class Pizza { String name;

  • java建立子类方法总结

    Java在构造函数中,第一行会先调用父类中构造函数进行初始化.父类初始化完毕后,再对子类的属性进行显示初始化.进行子类构造函数的特定初始化.初始化完毕后,将地址值赋值给引用变量Person p.本文附带建立子类示例. Person p = new Person(); 1,JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况下). 2,在堆内存中开辟空间,分配地址. 3,并在对象空间中,对对象中的属性进行默认初始化. 4,调用对

  • Java 限制子类访问的方法分析

    本文实例讲述了Java 限制子类访问的方法.分享给大家供大家参考,具体如下: 一 点睛 有时候,父类想保护自己的"隐私",即使自己的成员被子类继承了,并不希望子类可以访问自己类中全部的属性或方法,这时,就需要将一些属性与方法隐藏起来,不让子类去使用.此时可在声明属性或方法时加上"private"关键字,表示私有访问权限,即除了声明该属性或方法所在类,其他外部类(包括子类)均无权访问. 二 实战--限制子类的访问 1 代码 class Person { // 在这里将

  • java 父类子类有同名方法时如何调用的实现

    父类引用默认调用子类重写的方法 如果父类的引用p指向了子类的实例,则通过这个引用p访问同名方法时,调用的是子类重写的方法. 父类引用p可以指向不同的子类,调用不同子类重写的不同的同名方法,进而达到类间多态的效果. 但是,父类的引用只能访问子类重写的方法,父类中没有的方法,父类的引用不能访问.也就是说,通过父类的引用来调用子类的方法时,不能访问到子类后来自己定义的方法. 子类引用默认调用自定义的方法 通过子类的引用访问同名方法时,默认是重写之后的同名方法. 子类通过super关键字来调用被隐藏的父

  • Java如何对方法进行调用详解

    一.方法调用 方法调用的唯一目的:确定要调用哪一个方法 方法调用分为解析调用和分派调用 二.非虚方法与虚方法 非虚方法: 静态方法,私有方法,父类中的方法,被final修饰的方法,实例构造器 与之对应不是非虚方法的就是虚方法了 它们都没有重写出其他版本的方法,非常适合在类加载阶段就进行解析(符号引用->直接引用) 三.调用指令 普通调用指令 invokestatic:调用静态方法 invokespecial:调用私有方法,父类中的方法,实例构造器方法,final方法 invokeinterfac

  • Java中的方法内联介绍

    目录 1. 什么是方法内联 2. 方法内联的重要性 3. Java中方法内联的困难 继承类型关系分析 CHA 总结 1. 什么是方法内联 例如有下面的原始代码: static class B { int value; final int get() { return value; } } public void foo() { y = b.get(); // ...do stuff... z = b.get(); sum = y + z; } 我们首先要进行的就是方法内联,主要有下面两个目的:

  • Java编程子类能否重写父类的静态方法探索

    今天突然讨论到了子类继承父类的静态方法问题,有人坚持说能写,有人说不能重写,那到底能不能冲写呢?这个问题很简单,测试一下就完了. 先是父类代码: public class Fu { public static void show() { System.out.println("父类的静态方法"); } public void method() { System.out.println("父类的一般方法"); } } 下面是子类代码: public class Zi

  • 浅谈Java编程ToString()方法重写的意义

    上一篇文章我们介绍了java tostring方法重写代码示例,接下来,我们简单聊聊java编程tostring()方法重写的意义. 1.toString()就是是重写,对于一般的对象来说都会有这个方法,其实这个方法的目的,主要就是将对象按字符串的方式输出出来:打个比方,比如一个People类,里边有name,age这两个属性, 如果你People p = new People(); p.toString(); 这么做的话,默认输出就是一个内存地址. 那么你会想到重写ToString():这个方

  • Java构造器使用方法及注意事项

    Java构造器使用方法及注意事项 超类的构造器在子类的构造器运行之前运行,也就是说,在创建对象时,先运行超类中的构造器,然后再运行子类中的构造器,此时,如果在执行超类构造器的时候,构造器执行了可覆盖的方法,那么就会去调用子类中的该方法,而此时子类还未被实例化,此时就有可能出问题. 以一个例子说明: public class Super { int age = 10; protected void say() { System.out.println("super"); } public

  • Java采用setAsciiStream方法检索数据库指定内容实例解析

    本文实例展示了Java采用setAsciiStream()方法检索数据库的实例代码.使用参数查询必须在SQL 语句执行之前对参数进行赋值,赋值是使用PreparedStatement 对象的SetBoolean().SetInt().SetString().SetObject().SetNull()等方法来实现.这些方法建立了Java数据类型和SQL 数据类型的映射.JDBC 可以使用输入流作为SQL 语句的输入参数,设置输入流的方法有三个:setAsciiStream().setUnicode

  • 汇总java调用python方法

    本文为大家分享了java调用python方法,供大家参考,具体内容如下 一.在java类中直接执行python语句 import org.python.util.PythonInterpreter; public class FirstJavaScript { public static void main(String args[]) { PythonInterpreter interpreter = new PythonInterpreter(); interpreter.exec("day

随机推荐