java.面向对象编程总结(二)

面向对象编程:

1.静态变量和静态函数

  ⑴静态变量

       ①当static修饰成员变量时,该变量称为类变量,也叫做静态变量、静态属性。

       ②该类的每个对象都共享同一个类变量的值。任何一个该类的对象都可以访问到同一个值;修改该类变量值的时候,修改的也是同一个值;也可以在不创建该类的对象的情况下对类变量进行操作。

★注意:

      ①静态变量可以通过"对象名.变量名"来访问,也可以通过"类名.变量名"来访问。

      ②从底层将,静态变量在类被载入时创建,只要类存在,静态变量就存在,不管对象是否被实例化。

 ⑵静态变量的常见应用

      ①保存跨对象信息

      ②存储对象个数

 ⑶静态函数

     ①有静态变量就有静态函数,静态变量和静态函数统称为静态成员,静态函数就是在普通函数的定义前加上关键字static。

   ②静态函数的注意事项: 

        a.静态函数可以直接访问静态成员,但不能访问非静态成员;

       b.非静态函数可以访问静态或者非静态成员;

       c.静态函数不能出现this、super关键字。

  ③静态成员变量只会在数据共享区中维护一份,而非静态成员变量会在每个对象中维护一份

  ④作用:

      a.static修饰成员变量:如果有数据需要共享所有数据使用时

      b.static修饰成员函数:如果一个函数没有直接访问非静态成员时,那么可以使用static修饰,一般用于工具类的方法

   ⑤访问方式:

       a.静态修饰成员变量与方法时,可以用类名或者对象进行访问

       b.非静态修饰成员变量与方法时,只能用对象进行访问。

⑷静态代码块

       ①static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个静态代码块只会被执行一次。

2.认识封装

   ⑴封装

       ①封装是面向对象的基本特征之一。

       ②private关键字:被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作(get,set方法)

       ③this关键字:this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题)。

       ④封装理解: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问(private修饰和get,set方法)

       ⑤封装的好处以及作用: 把代码用方法进行封装,提高了代码的复用性, 通过方法来控制成员变量的操作,提高了代码的安全性。

⑵实现封装

   ①两大步骤:

         a.将不能暴露的成员函数隐藏起来,实现方法是将该成员定义为私有的,在成员定义前加上修饰符private。

         b.用公共方法来暴露对隐藏成员的访问,可以给函数加上修饰符public,将该方法定义为公共的。

★注意

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcjBfMTIzNDU2Nw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

3.使用包

⑴包

①包中类的访问

        ⼀个类可以访问其所在包的所有类。访问其他包的类有如下两种⽅式访问

//使⽤import语句导⼊要访问的类,如:

import java.util.*;

import mypackage.school.Student ;

//使⽤的类名前直接添加完整的包名,如:

java.util.Date now =new java.util.Date();

mypackage.school.Student tom =new mypackage.school.Student();

*注意:指明导⼊当前包的所有类,不能使⽤类似于java. 的语句来导⼊以java为前缀的所有包的所有类。

⑵将类放在包

        ①要想将一个类放人包中,就必须将包的名字放在源文件的开头,包中定义类的代码之前。

        ②如果没有在源文件中放置 package 语句,这个源文件中的类就被放置在一个默认包(defaulf package)中。默认包是一个没有名字的包。在此之前,我们定义的所有类都在默认包中。

⑶访问包中的类

      ①将类用包类管理之后如何访问包中的类,要考虑以下情况:

      a.在同一个包中直接用类名来访问,不用指定类所在的包

     b.两个类不在同一个包中的情况

★注意:

         如果一个包中的类很多,可以用"import 包名.*"导入该包中的所有类。

4.使用访问控制修饰符

⑴访问控制修饰符

⑵类的访问控制修饰符

       ①在不写public的情况下属于默认访问修饰,此时该类只能被同一包中的所有类识别。

       ②如果写了public, 该类则是一个公共类 ,可以被包内、包外的 所有类识别。

★注意:

⑶成员的访问控制修饰符

      ①如果将一个类定义成public类,类名和文件名必须相同,因此在一个.java文件中最多只能有一个public类。

       ②对于成员来说,访问控制修饰符共有4个,分别是private 、default、protected、public,示例代码如下: 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcjBfMTIzNDU2Nw==,size_20,color_FFFFFF,t_70,g_se,x_16

       ③name成员为private类型,sex成员为default类型,age成员为protected类型,display成员为public类型。其中,default类型的成员前面没有任何修饰符。

④特性如下:

      a. private 类型的成员只能在定义它的类的内部被访问。

      b. default类型的成员可以在定义它的类的内部被访问,也可以被这个包中的其他类访问。

      c. protected类型的成员可以在定义它的类的内部被访问,也可以被这个包中的其他类访问,还可以被包外的子类访问。

      d. public类型的成员可以在定义它的类的内部被访问,也可以被包内、包外的所有其他类访问。

      很明显,从开放的程度上讲,private< default< protected< public。

5.使用类中类

★注意:

       ①内部类中的成员只在内部类范围内才能使用,外部类不能像使用自己的成员变量一样使用它们。

      ②如果在内部类中使用this,仅代表内部类的对象,因此也只能引用内部类的成员。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值