就这?!面向对象进阶“实题演练“你学会了吗?

1.成员变量

      1.1概述

           成员变量即属性。

      1.2语法

  [<修饰符 >] [aeatic] [final]< 变量类型 >< 变量名>

           (1)static:表示一个类的成员变量,即静态成员变量。

           (2)final:表示是一个变量。

2.This 关键字

       2.1方法中调用方法或成员变量

            作用:让类中的一个方法访问该类中的另一个方法或实例成员变量。

       2.2 解决实例变量与局部变量同名的问题
            大多数情况下,在方法中访问类中的实例成员变量无须使用 this 前缀,如果方法中的一个局部要量和实可变量呵名,但程序又需要在该方法中访问该实例变量,则必须使用 this 前缀。

3.隐藏和封装 

        3.1概念

             封装是面向对象的三大特征之一,它指的是信息隐戴在对象内部,不允许外部程序直接访问对象内属性均被隐藏在对象内部,外界无法直接操作和修改 。

        3.2使用访问控制符 

  private (私有)      default  (默认)       protected (受保护的)        public   (公共的)  

                                                         访问控制级别表

        

        通过上述关于访问控制符的介绍,可知访问控制符用于控制一个类的成员是否可以被其他类访问。对于局部变量而言,其作用域就是在其所在的方法,因此不可能被其他类访问,因此不能使用,访问控制符修饰。

        private 访问控制符修饰的属性在同一个类中可以访问。

例如:示例1

 

public class Person{
    private String name=" 李小宏";
    public static void main(String args[])
    Person person = new Person();
    // 同一类中可以访问所有属性
    System.outprintln(" 姓名是:"+person.name);
}

        default 访问控制符修饰的属性需要在同一个包中可以访问。
例如:示例2 

 package com.vo;
    public class Personl
    // 默认修饰符为 default 
    String name="李小宏"
 }
 package com.vo{
    public class Test{
       public static void main(String argsl)
          Person person = new Person);
          //访问 default 修饰的属性
          System.out.printin(person.name);
 }

        public 访问控制符修饰的属性能够被不同包中的类访问。

例如:示例3


 

 package com.vo;
 public class Person{
 public String name="李小宏"; //公有修饰符为 public
 }
 package com.test; 
 public class Test{
    public static void main(String args[]){
        Person person = new Personl);
        System.out.printin(person.name);//访问 public 修饰的属性

    }

}

4.static关键字

        Java类的运行包括类加载和实例化两个阶段,当一个类被加载至JVM中,静态成员会被初始化,被 static 修饰的成员即为静态成员,静态成员包括静态代码块、静态属性和静态方法。静态成员不属于某个对象,仅属于静态成员所在的类。

        4.1静态成员变量

        类的成员变量包含静态变量(也称为类变量)和实例变量。静态成员变量是被 static 关键字修饰的成员变量,静态成员变量属于其所在类,被类中的所有实例共享,静态成员变量可通过类直接访问,也可通过类的实例访问。

         静态成员变量

例如:示例1 
 

 public class Bank {
    //静态成员变量,总钱数
    private static int count = 50000 ;
    public static void main(Stringll args) {
       //实例化 10个Bank 对象 
       for(int i=0; i<10; i++){
           Bank bank=new Bank();
           //每次取款 1000 元,类的实例调用静态成员属性 
           bank.count = bank.count - 1000;
           System out.printin(" 当前银行总钱数 ="+Bank.count);
       }
    }
 }

               静态变量实例变量区别包括以下两点
         (1)静态变量共享一块内存空间,在类加载的过程中完成静态变量的内存分配即初始化,态成员变量。
         (2)每创建一个实例,都会在堆内存中为其创建一块内存空间,每一个实例都含有一个属于自身的实例属性。

         4.2静态方法

         被static修饰的方法称为静态方法。静态方法也可通过类名直接访同。在使用静态方式时需要注造,静态方法中不能访问非静态的成员,如实例属性、实例方法。


        静态方法通常作为工具方法,不会因为实例的不同而影响方法最终的执行效果。静态方法的具体操作。

例如:示例 2


 

public class MathUtils {
    //计算平方
    public static double square(double num){
    return num*num;

    }

    public static void main(String[] args){
        double num=9.6;
        double result=MathUtils.square(num);
        System.out.printIn(num+" 的平方 ="+result);

    }
 }

         

         4.3 静微代码块
静态方法在类的载后,虽然在内存中已经分配了内存空路,但只有显式地测用都态方法时,该方法才会被执行。如果奠要在类加载时执行某一操作,则可以使用静态代码块。那态代码不存在任何方法体中,它在 Java 虚拟机加装类的被次行,如果类中包营多个器市代的,则Ja这想机将被的它门在类中出现的顺事依次执行,组经个静态代码块只会被执行一次。


         静态代码块的具体操作。

例如:示例3

 public ciass StaticBlock {
     //第一个静态代码块
     statct{
          System.out.printin(''---第一个静态代码块---");
     }

     //第二个静态代码块
     static{
         System,out.printin("--- 第二个静态代码块---");
     }
     pubic static void main(String[] args){
         System.out printinf("---main()方法被执行了 ---")
     }
  }

        如果两个类之间存在继承关系,子类和父类中都存在静态代码块,那么首先会执行父类中的静态代码块,再执行子类中的静态代码块。

 

你学会了吗?快去试试吧!

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值