java面向对象编程-静态字段、包、作用域

一、静态字段和静态方法

1、声明

静态字段通过static进行声明,与class中普通字段不同的是, 一个类的所有实例都共享一个静态空间,用来放静态字段的值

  • 静态字段

    访问:类名.静态字段 尽量不要用实例名.静态字段

    实例对象并没有静态字段,编译器自动转换为类名

  • 静态方法

    调用实例方法必须通过一个实例变量,而调用静态方法则不需要实例变量,通过类名就可以调用。静态方法类似其它编程语言的函数。

    静态方法只能访问静态字段,不能访问this,不能访问实例字段

    • 静态方法用于工具类
      • Arrays.sort()
      • Math.random()

2、接口的静态字段

​ 接口不能有实例字段,但是可以有静态字段,静态字段通过 final修饰

interface Person{
    public static final int num = 0;
    public static final int age = 0;
}

上面可以简化

interface Person{
    int num = 0;
    int age = 0;
}

因为interface的字段只能是public static final,编译器会默认添加

二、包的概念

1、包的结构

​ java定义了一种命名空间,称为package,用来避免命名冲突的问题;一个类总是属于某个包,所以完整的类名是包名.类名

在src目录下有文件结构,编译之后生成的.class文件在bin目录下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iQC5wgC5-1650988879978)(images/面向对象编程基础/image-20220426103150406.png)]

2、包的作用域

位于同一个包的类,可以访问包作用域的字段和方法。不用publicprotectedprivate修饰的字段和方法就是包作用域。

3、import

引用其他的类

  • 直接写出完整类名(包名.类名)

  • import 完整类名

  • import package.*(导入包里面的所以类)

    import  mr.jun.*
    
  • import static package.*

    import static java.lang.System.*
    

三、作用域

  • public 可以被任何类和包访问
  • private 访问限制在类中
  • protected 访问相比于private拓展到子类
  • final 阻止类被继承,阻止方法被覆写,阻止字段被重新赋值

一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。

package

包作用域是指一个类允许访问同一个package的没有publicprivate修饰的class,以及没有publicprotectedprivate修饰的字段和方法

局部变量

在方法内部定义的变量称为局部变量,局部变量作用域从变量声明处开始到对应的块结束。方法参数也是局部变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值