访问标识符和Static关键字

来源:互联网 发布:双色球科学预测软件 编辑:程序博客网 时间:2024/06/07 01:15

OOP三大特性:封装、继承、多态

封装:包装

      封装:函数,类

OOP的封装:1.成员变量私有化;2.提供公共接口为成员变量;3.对成员变量做安全保护

访问修饰符

当前类

同包下的类

 不同包子类

   任何地方

public

  yes

yes

yes

yes

   protected

  yes

        yes

      yes

      no

    默认

  yes

        yes

      no

      no

private

  yes

         no

      no

      no

上面四中都可以修饰成员变量;修饰类只有两种修饰符public(任何地方都可以用)和默认(什么也不写,只能是同包类下的可以用)

注意:成员方法的访问修饰符和成员变量是一样的;局部变量不需要访问修饰符。

 

包:用来组织文件;非web项目的.class文件是bin目录下,web项目是WEB-INFO下的classes文件夹里

import 导入用包:不同的包下需要导包,同报下的引用是不需要导包的。

 

Static关键字

1. static修饰的成员变量为静态变量。

   静态变量是属于类的,不属于任何某个对象,但是所有的对象都可以使用,也就是说是类对象共用的。

在同一个类中静态变量的调用:类名.静态变量 或者 对象.静态变量 或者 静态变量

不同类中:不能使用直接静态变量(即上面的第三种)

建议都使用第一种方式:类名.静态变量

 

2.  静态变量:加static;属于类;类名.变量名;一般是在需要累加的时候或者说多个对      象共享某个参数的时候使用;

普通成员变量:属于对象;对象.get变量;

定义:访问修饰符 static返回类型  方法名(){}

调用:类名.方法名 或者 方法名 或。。。

 

注意:1.静态方法不可以调用非静态的方法;反之可以。

      2.静态方法可以调用静态的成员变量,不可以调用非静态的成员变量。

      3.静态方法里不能使用对象型关键字thissuper

      4.static  不可以用来修饰构造方法

3. 静态代码块:在类里

语法

static{

   //方法体

}

特点:在应用启动时(jvm开始运行时)开始加载,而且只加载一次。

4. 构造代码块:在类里

     {      }:在创建对象时,隐式的三步:supper(),构造代码块,构造方法。

5. 局部代码块:在方法里