• java基础 第八章(静态成员的调用 、 封装)


    一、静态成员的两种调用。

         1. 对象.成员变量 = 值;

             例:stu1 . name = "java";

         2.类名.成员方式;   // 不需要new就可以直接用这种方式调用,调用方法也可以(Student . getNum())

             例:Student .count++;

             注:

                   静态方法只能访问静态变量,static只能访问static。

                   非静态方法既能访问静态变量又能访问非静态变量。

            例1:class Student{

                          static int count;

                          public int getNum(){   //非静态方法既可以调用静态变量也可以调用非静态变量

                              count++;

                              return count;

                          }

                     }

                     主程序调用必须先new出一个对象才可以调用(因为getNum()方法是非静态的 所以它就不是共享的,要new出对象,用对象才可以调用)

                     Student stu1 = new Student();

                     int count1 = stu1.getNum();

             例2:class Student{

                           static int count;

                           public static int getNum(){

                               count++;

                               return count;

                           }

                      }

                     主程序调用  int count2 = Student.getNum();

    二、静态块。

        static{

        }

        静态块只能加载并运行一次,最先执行。

       例:class Student{

                  public static int count;

                  static{

                       count++;

                  }

                  public void studentNum(){

                       System.out.println(count);

                  }

              }

             主程序调用:new Student().studentNum(); // 1

                                   new Student().studentNum(); // 1

    三、封装。

        1.封装代码的功能:

           只对外界提供一个名字,让外界能访问这些属性或者功能。

        2. 例:银行的安全

            class creditCard{

                private double salary; // 外界访问不到salary,封装了

                public double getSalary(){

                    return salary;

                }

               public void setSalary(double sal){

                   if(sal <= 0){

                       return 0.0;

                   }else{

                            salary = sal;

                   }

                  return salary;

               }

            }

            public class money{

                public static void main(String[] args){

                    creditCard cc = new creditCard();

                    cc.setSalary(100000000);

                    double salary = cc.getSalary();

                }

            }

            注:private 私有,只有自己拥有,外界访问不到。

  • 相关阅读:
    hdu6007 Mr. Panda and Crystal 最短路+完全背包
    ID生成器的一种可扩展实现方案
    使用PUT方法上传文件无法工作原因分析
    负载均衡算法
    父类和子类属性覆盖的各种情况分析
    java functional syntax overview
    Starter Set of Functional Interfaces
    application/xml和text/xml的区别
    mime type 概要介绍
    spring mvc 详细执行流程
  • 原文地址:https://www.cnblogs.com/catcoffer/p/8993876.html
Copyright © 2020-2023  润新知