static、子类和父类
来源:互联网 发布:西门子plc编程手册下载 编辑:程序博客网 时间:2024/06/05 17:17
class Cat{
protected String color = "random";
public Cat(){}
public void showCatColor(){
System.out.println("cat:"+color);
}
public void showColor(){
System.out.println("cat:"+color);
}
}
public class WhiltCat extends Cat{
protected String color = "white";
public WhiltCat(){
super();
}
public void showCatColor(){
System.out.println("WhiltCat:"+color);
}
public void showColor(){
System.out.println("WhiltCat:"+color);
}
public static void main(String[] args){
WhiltCat whiltCat = new WhiltCat();
Cat cat =whiltCat;
cat.showColor();
cat.showCatColor();
}
}
运行结果:
WhiltCat:white
WhiltCat:white
/*总结:WhiltCat whiltCat = new WhiltCat();
Cat cat =whiltCat;//对象上转型
子类WhiltCat被实例化了所有非静态成员变量被加载并且实例化;
static修饰的变量和方法随类的加载而初始化和加载
Cat父类没有初始化但加载了所以静态(static修饰的)被加载了。
所以会调用父类的 同名方法,不会调用子类的。
所以当 子类重写父类的同名静态方法时
Cat cat = new WhiltCat();
cat会调用自己的(只要父类自己有就不会调用子类的)
*/
package com.interview.demo;
class Cat{
protected static String color = "random";
public Cat(){}
public void showCatColor(){
System.out.println("cat:"+color);
}
public static void showColor(){
System.out.println("cat:"+color);
}
}
public class WhiltCat extends Cat{
protected static String color = "white";
public WhiltCat(){
super();
}
public void showCatColor(){
System.out.println("WhiltCat:"+color);
}
public static void showColor(){
System.out.println("WhiltCat:"+color);
}
public static void main(String[] args){
WhiltCat whiltCat = new WhiltCat();
Cat cat =whiltCat;
cat.showColor();
cat.showCatColor();
}
}
运行结果:
cat:random
WhiltCat:white
***********************************************
package com.interview.demo;
class Cat{
protected static String color = "random";
public Cat(){}
public void showCatColor(){
System.out.println("cat:"+color);
}
public static void showColor(){
System.out.println("cat:"+color);
}
}
public class WhiltCat extends Cat{
protected static String color = "white";
public WhiltCat(){
super();
}
public void showCatColor(){
System.out.println("WhiltCat:"+color);
}
public static void showColor(){
System.out.println("WhiltCat:"+color);
}
public static void main(String[] args){
/*Cat cat = new Cat();
WhiltCat whiltCat = (WhiltCat)cat;
cat.showColor();
cat.showCatColor();
//运行结果:Exception in thread "main" java.lang.ClassCastException
*/
/*Cat cat = new WhiltCat();
WhiltCat whiltCat = (WhiltCat)cat;
cat.showColor();
cat.showCatColor();
//运行结果:cat:random WhiltCat:white(父类有的不会用子类的)
*/
/*Cat cat = new WhiltCat();
WhiltCat whiltCat = (WhiltCat)cat;
whiltCat.showColor();
whiltCat.showCatColor();
//运行结果WhiltCat:white WhiltCat:white
*/
}
}
- static、子类和父类
- Java基础之子类会不会继承父类的static变量和static方法
- 子类继承父类的static方法
- java中子类static方法隐藏父类static方法
- java中子类static方法隐藏父类static方法
- jvm执行流程(static代码块和初始化快和父类子类执行过程)
- 子类和父类的 static块 和 构造方法 构造块 的执行顺序
- static,构造函数,子类,父类执行顺序
- static,构造函数,子类,父类执行顺序
- static,构造函数,子类,父类执行顺序
- static,构造函数,子类,父类执行顺序
- Static方法,与子类父类的执行顺序
- Java中子类是否可以继承父类的static变量和方法而呈现多态特性
- Java中子类是否可以继承父类的static变量和方法而呈现多态特性
- JAVA父类和子类
- java 父类和子类
- 类继承中子类static成员方法与父类static成员方法调用顺序浅析
- 父类构造器、子类构造器、static代码块、非static代码块执行顺序
- 安卓ListView中CheckBox的使用(支持Item列表项的删除,全选,全不选)
- WEB打印系列教程之三--使用WScript.Shell进行复杂的WEB打印设置
- WEB打印系列教程之四--简单的WEB打印分页设置
- 大学期间-Fans同学的11个艰难的决定
- 静静的在心里承受所有的伤痛和不快乐
- static、子类和父类
- blk-throttle: async write throttling
- WEB打印系列教程之五--使用ScriptX进行复杂的WEB打印设置
- Fans创业团队今日成立&&召开了第一次高层全体会议
- java知识点总结
- WEB打印系列教程之六--使用jatoolsPrinter控件进行WEB打印设置
- 初中-高中-大学-10年学习情况的精彩回顾和分析
- 英特尔:新型凌动芯片将支持Android和Linux
- Android中捕获HOME键