zoukankan      html  css  js  c++  java
  • 面向对象三大特性之封装

    面向对象的三大基本特征:

    封装:封装是指将对象的实现细节隐藏起来,然后通过公共的方法来向外暴露该对象的事功能。

    继承:即城市面向对象实现软件服用的重要手段,当子类继承父类后,子类是一种特殊的父类,能直接或间接获得父类的成员。

    多态:多态是可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,这意味着同一类型的对对象在运行时可能表              现出不同的行为特征

    局部变量和成员变量区别

    区别一:

    定义的位置不同

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

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

    区别二:

    在内存中的位置不同

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

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

    区别三:

    生命周期不同

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

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

    区别四:

    初始化不同

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

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

     创建类:

     1 package com.oracle.demo02;
     2 
     3 public class Person {
     4     //私有:private   关键字   把变量还有方法私有化,外界不能访问
     5     //只能在本类中访问。
     6     //封装:隐藏实现细节,对外提供访问方式
     7     private String name;
     8     private int age;
     9     public void setName(String n){
    10         name=n;
    11     }
    12     //取值
    13     public String getName(){
    14         return name;
    15     }
    16     public void setAge(int a){
    17         if(a>=0 && a<=120){
    18             age=a;
    19         }else{
    20             age=0;
    21         }
    22     }
    23     //取值
    24     public int getAge(){
    25         return age;
    26     }
    27     public void speak(){
    28         System.out.println("我叫"+name+"今年"+age+"岁了");
    29     }
    30 }

    测试类:

     1 package com.oracle.demo02;
     2 
     3 public class Test {
     4 
     5     public static void main(String[] args) {
     6         Person p1=new Person();
     7         /*p1.name="夏目";
     8         p1.age=20;*/
     9         p1.setName("夏目");
    10         p1.setAge(20);
    11         Person p2=new Person();
    12         System.out.println(p1.getName()+"......"+p1.getAge());
    13 /*        p2.name="三三";
    14         p2.age=-18;*/
    15         p2.setName("三三");
    16         p2.setAge(-18);
    17         p1.speak();
    18         p2.speak();
    19 
    20     }

    运行结果:

  • 相关阅读:
    linux常用命令(4)rm命令
    Apache Commons 工具类
    Apache Commons 工具类介绍及简单使用
    linux常用命令(3)mkdir命令
    linux常用命令(2)pwd命令
    linux常用命令(1)cd命令
    小程序调用方法
    php用json_encode中文问题
    基于thinkphp的RBAC权限控制
    thinkphp获取ip地址及位置信息
  • 原文地址:https://www.cnblogs.com/2734156755z/p/9342028.html
Copyright © 2011-2022 走看看