Java面向对象(二)

一、静态变量与静态方法

static静态变量(类成员)

①它属于整个类所有,而不是某个对象所有,被类的所有对象所共享。

②静态成员可使用类名直接访问,也可以使用对象名进行访问。

③静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收。

static静态方法(类方法)

①静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。

②如果系统在静态方法中调用非静态变量,可通过创建类的对象,然后通过对象来访问非静态变量。

③在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。

④静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

静态代码块(static block):

(1)一般初始化块

{undefined

xxx = xxx;

}

(2)静态初始化块

static {undefined

xxx = xxx;

}

执行顺序:静态初始化块最先被执行>一般初始化块>构造方法

注:当类被载入时静态代码块被执行,且执行一次,用来进行类属性的初始化

二、封装

(1)概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法类实现对隐藏信息的操作和访问。

(2)实现步骤:

(1)修改属性的可见性,限制访问。(2)设置属性的读取方法。 (3)在读取属性的方法中,添加对属性读取的限制。
(3)优点:

1. 良好的封装能够减少耦合。
2. 类内部的结构可以自由修改。
3. 可以对成员变量进行更精确的控制。
4. 隐藏信息,实现细节。

三、包

定义: 为了避免相同类名称出现而发生覆盖的情况。

格式:java 包路径 类名        

常用包:java.lang.*,java.util.*,java.io.*,java.net.*,java.sql.*

声明原则:(1)package语句必须放在源文件开头;(2)一个源文件只能有一个package语句;(3)包名字全部小写,避免与类、接口的名字冲突。

注:*不是java. lang包下,并且不在同一一个包下的时候,需要使用import进行引入.

import格式:import 包名.类名

作用:(1)将相关联的接口和类集合到一块
(2)避免了类型之间命名冲突:包作为一种封装,给类提供多层命名空间。
(3)实现了外界对包的访问控制。

访问修饰符:

访问权限修饰符
修饰符同一个类同一个包子类所有类
private    *       
default    *    *
projected    *    *   *
public    *    *   *    *

访问包中的类:
① 在同一个包中直接用类名来访问,不用指定类所在的包。
② 两个内在不同一个包的情况。
a、在使用类时指定类的路径。
b、用import语句导入该类。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值