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(); } }
相关推荐
-
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
随机推荐
- AngularJS指令与控制器之间的交互功能示例
- .net mvc页面UI之Jquery博客日历控件实现代码
- Java模拟单链表和双端链表数据结构的实例讲解
- Spring Boot多数据源及其事务管理配置方法
- php URL跳转代码 减少外链
- Android布局——Preference自定义layout的方法
- mysqli多查询特性 实现多条sql语句查询
- javascript动画算法实例分析
- Python用GET方法上传文件
- jquery lazyload延迟加载技术的实现原理分析
- 遭遇www.investpoll.net病毒附手动删除方法
- ssh远程登陆没有用户名和主机名的解决方法
- win2003分布式文件系统及其部署 图文教程
- TextView显示文本控件两种方法 TextView显示link的方法
- C/C++编译器GCC下的常用编译命令总结
- Python实现按学生年龄排序的实际问题详解
- asp.net 获取数据库连接字符串
- 以文件形式缓存php变量的方法
- .NET C#利用ZXing生成、识别二维码/条形码
- Java 堆排序实例(大顶堆、小顶堆)