当前位置: 首页 > wzjs >正文

教学网站开发郑志平爱站网创始人

教学网站开发,郑志平爱站网创始人,阿里云怎么做淘宝客网站,做网站有地域限制吗文章目录 105. Java 继承 - 静态方法的隐藏**静态方法与实例方法的区别****示例代码****程序输出解释****静态方法与实例方法的调用区别****总结** 105. Java 继承 - 静态方法的隐藏 在 Java 中,当子类定义了一个与父类静态方法签名相同的静态方法时,子…

文章目录

  • 105. Java 继承 - 静态方法的隐藏
        • **静态方法与实例方法的区别**
        • **示例代码**
        • **程序输出解释**
        • **静态方法与实例方法的调用区别**
        • **总结**

105. Java 继承 - 静态方法的隐藏

在 Java 中,当子类定义了一个与父类静态方法签名相同的静态方法时,子类中的静态方法将 隐藏 父类中的静态方法。与实例方法的重写不同,静态方法是通过类本身来调用的,因此它们的调用与对象的实例化状态无关。

静态方法与实例方法的区别
  1. 实例方法的重写:当子类重写父类的实例方法时,调用的是子类版本的实例方法,即使使用的是父类类型的引用变量,实际调用的是子类的实例方法。
  2. 静态方法的隐藏:当子类定义一个与父类静态方法签名相同的静态方法时,调用的版本取决于方法是通过父类还是子类来调用的。即静态方法是根据调用它的类来确定的,而不是根据实例对象。
示例代码
public class Animal {public static void testClassMethod() {System.out.println("The static method in Animal");}public void testInstanceMethod() {System.out.println("The instance method in Animal");}
}public class Cat extends Animal {public static void testClassMethod() {System.out.println("The static method in Cat");}public void testInstanceMethod() {System.out.println("The instance method in Cat");}public static void main(String[] args) {Cat myCat = new Cat();Animal myAnimal = myCat;// 调用静态方法Animal.testClassMethod(); // 输出:The static method in AnimalCat.testClassMethod();    // 输出:The static method in Cat// 调用实例方法myAnimal.testInstanceMethod(); // 输出:The instance method in CatmyCat.testInstanceMethod();    // 输出:The instance method in Cat}
}
程序输出解释
  1. Animal.testClassMethod() 调用:此时通过父类 Animal 来调用静态方法,因为静态方法是通过类名来调用的,因此调用的是 Animal 类中的 testClassMethod(),输出:“The static method in Animal”。
  2. Cat.testClassMethod() 调用:此时通过子类 Cat 来调用静态方法,输出的是子类 Cat 中的 testClassMethod(),即输出:“The static method in Cat”。
  3. 实例方法的调用testInstanceMethod() 是实例方法,因此无论通过 Animal 类型的引用变量 myAnimal 还是通过 Cat 类的实例变量 myCat 来调用,它们都会调用 Cat 类中的 testInstanceMethod() 方法,因为实例方法的重写是根据对象的实际类型来决定的。
静态方法与实例方法的调用区别
  • 静态方法的调用:静态方法是通过类来调用的,而不是通过对象。因此,调用静态方法时,使用的是类名来决定调用哪个方法。如果父类和子类都有同名静态方法,那么静态方法是 隐藏 的,具体调用哪个版本的方法,取决于调用者使用的是哪个类名。
  • 实例方法的调用:实例方法的调用是根据实际对象的类型来决定的。如果子类重写了父类的实例方法,那么实际调用的是子类的方法。
总结
  1. 静态方法的隐藏:如果子类定义了一个与父类静态方法签名相同的静态方法,子类的方法将隐藏父类的方法。静态方法是通过类名调用的,调用哪个方法取决于类名,而不是对象实例。
  2. 实例方法的重写:子类可以重写父类的实例方法,并且在调用时,调用的是实际对象的类型对应的方法(即子类重写的方法)。
  3. 关键区别:静态方法的版本由调用的类决定,而实例方法的版本由实际对象的类型决定。

通过这个示例和详细的解释,学员可以清楚地了解静态方法隐藏与实例方法重写的区别,以及它们在实际编码中的应用。

http://www.dtcms.com/wzjs/487082.html

相关文章:

  • 跨境电商独立站是什么外链生成器
  • 深圳外贸建站网络推广联客易网易企业邮箱
  • wordpress淘宝主题河北百度seo
  • 淘客网站cms怎么做什么是网络推广员
  • 如何做网页或网站海淀区seo搜索引擎优化企业
  • 易语言web网站开发游戏挂机赚钱一小时20
  • 办公oa系统大概多少钱网站更新seo
  • 品牌网站建设專註大蝌蚪西安专业网络推广平台
  • 高校支付网站建设费需要入无形资产百度电商广告代运营
  • 南京大地建设 集团 网站厦门百度广告开户
  • 网站建设部署北京疫情太严重了
  • 沈阳网站建设策划百度搜索关键词怎么刷上去
  • 做网站php今天发生了什么重大新闻
  • 北镇做网站百度一下你就知道首页
  • 深圳市甘泉建设监理有限公司网站郑州搜索引擎优化公司
  • wordpress 音乐主题模板下载手机优化是什么意思
  • 泉州做外贸网站华为手机业务最新消息
  • 怎样做网站的后台搜索引擎优化策略不包括
  • 做网站的项目开发计划书seo中文意思是
  • 深圳台历制作seo公司广州
  • 做网站建设的一般在哪儿找北京朝阳区优化
  • 英国小子做房产网站石家庄关键词优化报价
  • 云南网站建设运营广州今日刚刚发生的新闻
  • ui设计原理seo优化软件
  • 东营网站建设服务电话怎么创作自己的网站
  • 网站建设毕业设计怎么做成都公司建站模板
  • 深圳市外贸网站建设怎样在百度上发布自己的信息
  • 可以做动画的网站都有哪些软件下载识别关键词软件
  • 如何搭建自己的网站服务器地址梅花seo 快速排名软件
  • 世界十大广告公司排名怎么做seo网站关键词优化