java子类调用父类变量值_java子类如何调用父类变量和方法
深入浅出,保证一看就懂
package com.company;
/**
* Created by liuyazhou on 2016/9/21.
*/
public class Test {
// private static String str1="str1"; ///在TestSon中System.out.println(str1);报错
// private String str2="str2";///在TestSon中System.out.println(str2);报错
public static String str1 = "str1";
public String str2 = "str2";
// System.out.println("Test"); 错误
public Test() {//后执行
System.out.println("Test构造方法");
}
{/非静态代码块先执行
System.out.println("Test非静态代码块"); 正确
}
public void fun2() {
System.out.println("Test.fun2");
}
public void fun3() {
System.out.println("Test.fun3");
}
public static String getStr1() {
return str1;
}
public static void setStr1(String str1) {
Test.str1 = str1;
}
public String getStr2() {
return str2;
}
public void setStr2(String str2) {
this.str2 = str2;
}
}
package com.company;
public class TestSon extends Test{
public TestSon() {//后执行
System.out.println("TestSon构造方法");
}
{//非静态代码块先执行
System.out.println("TestSon非静态代码块");
}
public static void main(String[] args) {
TestSon testSon = new TestSon();
testSon.funSon1();
testSon.fun2();子类直接调用父类的public方法,可以把公用类放到父类中,这样子类中无需再定义一遍,
testSon.fun3();
}
// 从结果中可以看出:调用某个类的构造方法的时候总是会先执行父类的非静态代码块,然后执行父类的构造方法
// 最后才执行当前类的非静态代码块,然后执行当前类的构造方法,与放置的先后位置无关,
private void funSon1(){
System.out.println("super.getStr1():"+super.getStr1());
System.out.println("super.getStr2():"+super.getStr2());
System.out.println(str1);在父类中有误get set方法均可
System.out.println(str2);//在父类中有误get set方法均可
str1="str1Son";
str2="str2Son";
System.out.println("修改后"+str1);
System.out.println("修改后"+str2);
}
// @Override 这个关键字要不要都行
public void fun3() {重写了父类的代码
System.out.println("TestSon.fun3");
}
}运行结果如下:
Test非静态代码块
Test构造方法
TestSon非静态代码块
TestSon构造方法
super.getStr1():str1
super.getStr2():str2
str1
str2
修改后str1Son
修改后str2Son
Test.fun2
TestSon.fun3另外这是我个人开发的App,欢迎下载和好评,V1.5.0版本正在努力开发中......
java子类调用父类变量值_java子类如何调用父类变量和方法相关推荐
- java反射 获取变量值_Java反射:如何获取变量的名称?
如果您使用以下的调试信息进行编译:javac -g),局部变量的名称保存在.class文件中.例如,以这个简单的类为例:class TestLocalVarNames { public String ...
- gdb 笔记(07)— 自动显示变量值、显示源代码、监视变量或内存、查看内存
1. 自动显示变量的值 使用 print 或者 p 命令来显示变量的值,但是有一个问题,即如果想要查看某个变量的值,需要不停地使用 print 命令.这对于需要观察那些不停变化的变量值来说,使用 p ...
- Pycharm / IDEA 局部搜索功能,调试时搜索变量值,或是搜索文件名等局部搜索方法
以pycharm为例: 在调试时已知一个变量值,但是不知道它的变量名 已知变量名,但是不知道变量值 这些情况都可以像"全文搜索"一样搜索出来,方法如下: 变量名/值 搜索 首先鼠标 ...
- java常量能改变值吗_java中的常量和变量
变量 含义:在程序过程中变量的值会发生变化,直白来说就是用来存储可变化的数据 变量的好处:使内存空间的得到重复利用 举个例子: 1 System.out.println(10);2 System.ou ...
- 将控件关联的变量值传递到另外一个类中的方法
今天在修改V1.1的一个bug:当向一个场景中加入已存的模型时会提示模型已存在,要求更改模型名称. 具体步骤如下: 1.新建一个对话框,ID为:IDD_RENAME,在此对话框中添加一个Edit控件, ...
- java static 修饰变量吗_Java面试 - static 修饰的变量和方法有哪些特点?
1.static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用. 2.static修饰的变量,在类加载时会被分配到数据区的方法区.类的实例可共享方法区中的变量.如 ...
- java线程变量值_JAVA线程中对变量值的修改
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...
- java 调用c效率高_java通过JNI调用C语言写的函数,能提高运行效率吗?
C语言比Java快早就是公认的事实了.而Java可以通过JNI调用C语言写的库很多人也都知道. 但通过JNI调用C语言写的函数能提高效率吗?一直以来我都认为 是的 .昨晚心血来潮做了个测试,本意是想看 ...
- java重定向链接页面变小_java web的进来看一下!页面重定向的异常!帮忙看一下!谢谢了!...
我用login.jsp进行登录留言板的管理页面用一个servlet进行身份验证.成功----->通过request.getRequestDispatcher("/admin/secur ...
最新文章
- 滥用网络爬虫技术,多家公司被查!互金行业风控外包时代终结
- linux内核中链表代码分析---list.h头文件分析(二)【转】
- spark学习:java版JavaRDD与JavaPairRDD的互相转换
- mysql----innodb统计信息
- C语言 __TIME__ - C语言零基础入门教程
- MySQL笔记(六)视图 view
- Java 帝国对 Python 的渗透能成功吗?
- bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)
- 恢复系统管理员密码的五大奇招
- 主板bios修改、刷新
- Win10利用bat文件实现文件与文件夹批量重命名
- mysql sql语法解析器_Druid SQL 解析器概览
- 基于fabricjs实现钢笔工具
- 编程猫海龟编辑器(python)_编程猫海龟编辑器
- phpcms数据库备份与恢复_Phpcms一键清理数据后完整找回数据
- 【CIPS 2016】(1-3章)词法、句法、语义、语篇分析(研究进展、现状趋势)
- 用matlab画散点图,并指定点与点之间的连线
- K均值聚类算法(HCM,K-Means)
- data augment
- ESD二极管各项参数字母的解释-优恩
热门文章
- amd r7 2700u linux,性能对比:AMD R7 2700U略胜一筹_笔记本新闻-中关村在线
- wlan之802.11n原理解析
- #python爬虫#爬取搜狐股票
- 2014 android 机型排行,2014年10月十佳Android系统智能安卓手机排行榜单 Note 4第一名...
- 计算机编码骂人,我想知道它的意思?是编码吗?是骂人?还是.浣犳..锛Yi字我也不? 爱问知识人...
- 宠物商店分析与合约实现
- 精密空调系统工作原理及维护过程解析
- 鼻部按摩 巧治过敏性鼻炎
- 新奥集团:缔造全新门户平台 让沟通无极限
- SQL Server 的fn_dblog方法 细节和例子