zoukankan      html  css  js  c++  java
  • java面向对象

    局部变量和成员变量的区别:

    一:定义的位置不同

    定义在类中的变量是成员变量

    定义在方法中或者{}语句里面的变量是局部变量

    二:在内存中的位置不同

    成员变量存储在堆内存的对象中

    局部变量存储在栈内存的方法中

    三:生命周期不同

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失(gc垃圾回收机制)

    局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    四:初始值不同

    成员变量因为在堆内存中,所有默认的初始化值

    局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

    封装:

    提高了代码的复用性。

    隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。

    提高了安全性。

    private:添加后只能在本类中使用

    private int a; 

    this:加this区别局部变量与成员变量。

    谁调用方法,this就代表谁:

    boolean flag=p1.compare(p2)

    public boolean compare(p2){

    return  this.age== p2.age}

    继承:public class Son extends Father{}

    子类继承父类的属性和方法

    一个类只能有一个父类,多个类可以有一个父类

    一个类的父类,可以是别的类的子类

    使用super代表其父类

    方法重写:

    属性,子类中使用与同名的变量时,优先使用子类中的。

    方法重写,当一个类是另一个类中的一种时,可以继承属性与功能。

    如果父类具备的功能内容需要子类特殊定义时,进行方法重写。

    使用super.xxxx()代表父类

    public void show(){
    super.show();
    System.out.println("显示aaa");
    System.out.println("显示bbb");
    }

  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/god3064371/p/11525593.html
Copyright © 2011-2022 走看看