文档章节

java-成员变量的属性与成员函数的覆盖

wf王帆
 wf王帆
发布于 2016/07/17 23:17
字数 348
阅读 9
收藏 0

java中在多态的实现是通过类的继承或者接口的实现来完成的。

  在类继承或者接口实现过程中就会涉及到成员属性以及成员函数的重写,需要注意的是,成员函数的重写是直接覆盖父类的(继承中),但是成员变量重写是不会进行覆盖的。

  举个类子:

    两个类Person以及Man;

    都有相同名称的属性age以及相同名称的方法say();

    public class Person {

      public int age;

      public void say() {

        System.out.println("person say...");

      }

    }

    

    public class Man {

      public int age;

      public void say() {

        System.out.println("man say...");

      }

    }

    //测试

    public class Proc {

      public static void main(String[] args) {

        Man man = new Man();

        System.out.println("----------属性----------"); 

        man.age = 20;

        System.out.println(man.age);         //20

        Person person = man;

        person.age = 25;

        System.out.println(person.age);        //25  

     

        System.out.println("----------函数----------");

        Man m = new Man();

        man.say();                   //man say...

        Person p = m;

        p.say();                     //man say...

      }

    }

 

    通过上面的列子可以看出来,成员函数可以重写,在通过父类调用子类方法的时候调用的是重写的方法,而成员属性不可以覆盖(即使重写了,没有重写不谈);

    

    对于这个的区分可以这样理解:

    从存储角度看,属性是存储进堆中的,而方法只是在栈中暂存,不做长时间保存,执行过就释放, 因此属性不变(简单理解,详细的讲起来太乱);

本文转载自:http://www.cnblogs.com/husky/p/5679346.html

上一篇: Java 位运算
wf王帆
粉丝 6
博文 64
码字总数 9386
作品 0
西安
私信 提问
Java基础知识总结(绝对经典)

本人学习java时,做的java基础知识总结: 因内容较多,提供原文链接下载。 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句...

石小全
2012/04/08
0
6
01 - JavaSE之基础及面向对象

JAVA基础知识 Java 是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门面向 Internet 的高级编程语言。 Java 虚拟机(JVM:Java Virtual Machine) JRE(Java Runtim...

fengdaoting
2018/01/07
0
0
构造函数、构造代码块、this关键字

构造函数、构造代码块、this关键字 一、构造函数 1.构造函数的作用 给对应的对象进行初始化。 2.构造函数的定义格式 3.构造函数要注意的细节 构造函数是没有返回值类型的。 构造函数的函数名...

JS_HCX
2018/12/07
0
0
JavaSE|Java中的关键字及其他术语

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/darlingwood2013/article/details/89351149 JavaSE|Java中的关键字及其他术语 final 关键字 在Java中,final...

叶晚林
04/17
0
0
Java面向对象概述及三大特征(封装,继承和多态)

一、面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计。面向对象程序的最小单元是类,类代...

编辑之路
01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

走近科学,探究阿里闲鱼团队通过数据提升Flutter体验的真相

背景 闲鱼客户端的flutter页面已经服务上亿级用户,这个时候Flutter页面的用户体验尤其重要,完善Flutter性能稳定性监控体系,可以及早发现线上性能问题,也可以作为用户体验提升的衡量标准。...

阿里云云栖社区
26分钟前
0
0
Dozer:Dozer异常java.lang.ClassCastException

这个问题是个很难发现的问题,因为代码本身没有错误,但就是无法找到报错原因 现记录下这个报错 java.lang.ClassCastException:com.XXX.ObjectA cannot be cast to com.XXX.ObjectA 代码中并...

琴兽
32分钟前
0
0
Feign Retryer的默认重试策略测试

1、Feign配置 @Configurationpublic class FeignConfig { @Value("${coupon_service.url:http://localhost:8081}") private String couponServiceUrl; @Bean publ......

moon888
36分钟前
2
0
关于不同域名下的session共享问题

如果登录,首页,分类,列表,产品都在不同的二级域名下,主域名不变,一定要保证里面的版本问题,不能为了更新而更新,这样哪个下面的session都访问不了。

dragon_tech
38分钟前
2
0
iOS 中文拼音互转(好东西记录一下)

PinYin4Objc

_____1____
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部