Java基础复习04static,final,包,内部类

static关键字

-概述:

是一种修饰符,修饰成员变量/成员方法和代码块.

被static修饰的成员不属于对象属于类,被该类的所有对象共有

 

-成员变量分类:

静态成员变量或类变量

非静态成员变量或实例变量

静态成员变量与非静态成员变量区别?

(4不同)

-1.语法不同

-2.生命周期不同

-3.访问方式不同-类访问和对象访问

-4.数量不同-new一次和多次

 

static 修饰成员变量:

什么时候用;该成员变量被多个对象共享的时候

 

静态成员变量与非静态成员变量区别?

调用者不同,一个对象调用一个类和对象都可以调用(强烈要求类调用)

static 修饰成员方法:

什么时候用;eg工具类

 

注意:多态方法可以访问静态方法成员,静态不可以访问动态的,

且静态方法中无this或super>>this和super一定要有对象静态方法不一定用对象调用!!

 

final关键字

   * final也是一个修饰符。

   * final修饰基本数据类型的变量,该变量就成为了常量,其值就不能再修改。

   * final修饰引用数据类型的变量, 该引用变量不能再指向其他对象,但可以改变当前指向变量的值。

   * final修饰方法,该方法就不能再被子类重写了。

   * final修饰类,该类不能被继承了。

 

   * 包就是文件夹

   * 包在文件系统中是以文件夹形式存在。

 

包的作用

   * 解决类命名冲突的问题。

   * 将功能相似或相同的类和接口组织在一起,方便类的查找和管理。

      * 注册功能:com.itheima.registher 

      * 登录功能:com.itheima.login 

  

包的定义格式

   * package 包名1.包名2...包名n;

   * 命名规范:一般包名是全部小写,一般是公司的域名倒着写

      * 比如:itheima.com ==> com.itheima.login/register

      * 比如:baidu.com ==> com.baidu.momo.

     

包的注意事

* 定义包的语句必须是类中的第一行有效语句。

 

类访问的注意事项:

   * 如果不同包下有同名的类时,在一个类要同时使用这两个类,只能有一个类被导包。另一类只能使用类全名的方式访问。

 

四种访问权限修饰符

   public:任意包下任意类都可以访问。

   protected:子类或本包下的任意类都可以访问。

   默认(包权限):只能是本包下任意类访问

   private:只能本类中访问

 

小结

   成员变量:private

   成员方法:public

 

内部类

 在一个类中或方法中定义的类就称为内部类

 

内部类的分类

  * 成员内部类(了解)

   * 局部内部类(了解)

   * 匿名内部类(重点)

   * 静态内部类(不讲)

 

成员内部类

   * 位置:定义类中方法外,和成员变量同级别。

局部内部类

   * 位置:定义在方法中,和局部变量同级别。

匿名内部类

   * 位置:定义方法中,没有名字的局部内部类。 特殊的局部内部类

 

 

注意事项

      * 局部内部类不能使用public,protected,private修饰符。 

      * 在JDK1.8(不包括1.8)前如果局部内部类的方法中使用到方法的局部变量时,该局部变量需要使用final修饰。

      * JDK1.8后不强制使用final修饰,但是也不能在局部内部类的方法中对该局部变量进行修改。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值