JAVA隐式转换和方法重写和static关键字
2016-04-17 21:33
393 查看
author : chen ming dong
闲来无事做想玩玩JAVA了 今天碰到点困难,算是完美解决了
注意:
含有 static 的方法 叫做类方法
没有 static 的方法 叫做实例方法
父类的类方法在子类中也只能是类方法
父类的实例方法在子类中也只能是实例方法
总结:
类方 对 类方
实方 对 实方
闲来无事做想玩玩JAVA了 今天碰到点困难,算是完美解决了
package 类; // static用来修饰类中的变量或方法,成为静态变量,静态方法 // 静态变量对于所有的类对象共享同一个内存空间 // public class 隐式类型转换 { public static void main(String[] args) { // TODO Auto-generated method stub Cat myCat = new Cat(); Cat.testClass(); Cat.AtestClass(); System.out.println( ); //Cat.testInstance(); //Cat 只能调用类中有 static 的方法 myCat.testClass(); // Cat 的对象可以调用 类中的一切 myCat.testInstance(); System.out.println( ); Animal myAnimal = myCat; Animal.AtestClass();//Animal 只能调用 类中有static 的方法 //从下面可以看出 只是隐式类型转换了 子类中的 static 部分(换句话说就是,子类中的static只能自己用) // static 是在程序执行时,类的字节码文件就加载到内存中去的 // 没有 static 就不能加载到内存中去,需要操作对象进行加载 myAnimal.AtestClass(); // 方法重写的地方,不能转换(还是Cat类中的方法),如果方法没有重写就可以完全转换为Animal类 myAnimal.testInstance(); } } //创建一个 父类 class Animal{ public static void AtestClass(){//对这个static方法 只能父类自己用,重命名(ALT+SHIFT+R)子类方法不改变 System.out.println("Animal中的类方法"); } public void testInstance(){ // 对这个方进行重命名(ALT+SHIFT+R)时,子类的方法也会改变 System.out.println("Animal中的实例方法"); } } //创建一个子类 class Cat extends Animal{ public static void testClass(){//不能算是对父类的重写,他根本访问不到父类static的方法 System.out.println("Cat 中类的方法"); } // 下面这个方法 叫做 父类的重写 public void testInstance(){ System.out.println("Cat中类的实例方法"); } }
注意:
含有 static 的方法 叫做类方法
没有 static 的方法 叫做实例方法
父类的类方法在子类中也只能是类方法
父类的实例方法在子类中也只能是实例方法
总结:
类方 对 类方
实方 对 实方
相关文章推荐
- java环境变量配置
- 9.1 JavaScritp:为数据带来生命-对象中的对象
- JavaBean技术
- 深入Java集合学习系列:HashMap的实现原理--转
- struts2开发6--在struts2中实现单个文件上传
- Eclipse依赖打包问题
- JAVA第五次作业
- JAVA集合类详解
- LeetCode------ZigZag Conversion
- java抽象类和接口在设计时的取舍
- Spring,hibernate,struts的面试笔试题(含答案)
- 20145216史婧瑶《Java程序设计》第二次实验报告
- Java基础
- 20145216史婧瑶《Java程序设计》第二次实验报告
- 20145221 《Java程序设计》第七周学习总结
- eclipse快捷键
- java web连接数据库sql server2008
- struts2中的变量问题
- Java基础篇(关于this的一些用法)
- 20145223《Java程序程序设计》第7周学习总结