zoukankan      html  css  js  c++  java
  • Java面向对象之封装 入门实例(一)

    一、基础概念

      (一)面向对象的三大特征:      1.封装         2.继承          3.多态

      (二)封装:隐藏实现细节,对外提供公共的访问方式(接口)。

         封装的体现之一:将属性都私有化,对外提供对应的  setXXX    getXXX  方法来访问。

         封装的好处:

              1.提高安全性。不允许直接访问细节。并通过公共的方式来访问,实现可控。

              2.提高了易用性。

              3.提高了复用性。

              4.隔离的变化。后期应用于分层设计。

    二、实例代码

      要求用私有化进行封装将Person的年龄打印出来。

     1 class Person
     2 {
     3     private int age;
     4     //对私有的数据,可以通过方法的方式对其进行访问。
     5     public void setAge(int a)
     6     {
     7         //可以对数据进行控制。
     8         if(a<0 || a>130){
     9             throw new RuntimeException(a+"数值的错误的");    //抛出异常
    10             }else{
    11                 age = a;
    12             }
    13         }
    14     
    15     public int getAge()    {
    16         return age;
    17     }
    18     void speak(){
    19         System.out.println("age="+age);
    20     }
    21     
    22 }
    23     
    24 class PersonDemo
    25 {
    26     public static void main (String[] args){
    27         //创建Person的对象,调用Person的属性和行为。
    28         Person p = new Person();
    29         p.setAge(20);
    30         p.speak();
    31     }
    32 }

    三、代码运行

      如果对Java代码进行编译时出现编码GBK的不可映射字符的问题时,应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java

      1.输入命令:javac -encoding UTF-8 PersonDemo.java    (编译PersonDemo文件中的代码)

      2.输入命令:java PersonDemo  (执行PersonDemo文件中的代码)

      

  • 相关阅读:
    Open source cryptocurrency exchange
    Salted Password Hashing
    95. Unique Binary Search Trees II
    714. Best Time to Buy and Sell Stock with Transaction Fee
    680. Valid Palindrome II
    Java compiler level does not match the version of the installed Java project facet.
    eclipse自动编译
    Exception in thread "main" java.lang.StackOverflowError(栈溢出)
    博客背景美化——动态雪花飘落
    java九九乘法表
  • 原文地址:https://www.cnblogs.com/zhuxr/p/8783266.html
Copyright © 2011-2022 走看看