OOP05.packge-import-访问控制修饰符-static-final-static final

本文详细介绍了Java中的包管理、访问控制修饰符、静态成员及final关键字的使用原则。解析了不同访问级别的概念,并阐述了静态成员的生命周期与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.package:
  1)作用:避免类名的冲突
  2)包名可以有层次结构,同包中的类不能同名                
  3)类的全称: 包名.类名
  4)建议:包名所有字母都小写
建议:
   域名反写  . 项目名称  . 模块名称 . 类名 
   cn.tedu   .  aproject .  amou     
   cn.tedu   .  aproject .  bmou

  import:

  1)同包中的类可以直接访问,
    不同包中的类想访问两种方式:
    1.1)先import声明类----建议
 1.2)类的全称----------太繁琐,不建议
2.访问控制修饰符:
  1)public:公开的,任何类
  2)private:私有的,本类
  3)protected:受保护的,本类、子类、同包类
  4)默认的:什么也不写,本类、同包类
  类的访问修饰符: public、默认的
  类中成员的访问修饰符: 如上4种都可以
变量----------------------private
方法----------------------public
超类中的变量--------------protected

3.static:静态的
  1)静态变量:



成员变量分两种:
1)实例变量:没有static修饰,属于对象的,存在堆中
           有几个对象就有几份
		   通过对象名点来访问
2)静态变量:由static修饰,属于类的,存在方法区中
           只有一份
		   通过类名点来访问
 
class Aoo{
  int a; //实例变量
  static int b; //静态变量
}


栈:局部变量(包括方法的参数)
堆:new出来的对象(包括实例变量)
方法区:.class字节码文件(包括方法、静态变量)


    1.1)由static修饰
 1.2)属于类的,存储在方法区中,只有一份
 1.3)常常通过类名点来访问
 1.4)何时用:所有对象所共享的数据(图片、音频、视频等)
  2)静态方法:
class Foo{
  int a;
  static int b;
  void show(){ //有个隐式的this传递
	System.out.println(this.a);
	System.out.println(Foo.b);
  }
  static void test(){ //没有隐式this传递
	System.out.println(a);
	System.out.println(Foo.b);
  }
}

    2.1)由static修饰
 2.2)属于类的,存储在方法区中,只有一份
 2.3)常常通过类名点来访问
 2.4)静态方法没有隐式的this传递,
     静态方法中不能直接访问实例成员
 2.5)何时用:方法的操作仅与参数相关而与对象无关
何时用:方法的操作仅与参数相关而与对象无关

double a = Math.sqrt(25);---------------静态的
无论m1,m2,m3,...,m100中的哪个对象
去sqrt()的结果,都是一样的
说明sqrt()的操作与对象无关,而仅与参数相关


假设sqrt()不是静态的:
Math m1 = new Math();
double a = m1.sqrt(25);

Math m2 = new Math();
double b = m2.sqrt(25);

Math m3 = new Math();
double c = m3.sqrt(25);


  3)静态块:
    3.1)由static修饰
 3.2)属于类的,在类被加载时自动执行,
     因类只被加载一次,所以静态块也只执行一次
 3.3)何时用:初始化/加载静态资源(图片、音频、视频等)
4.final:最终的、不可改变的--------单独应用几率非常小
  1)修饰变量:变量不能被改变
  2)修饰方法:方法不能被重写
  3)修饰类:类不能被继承
5.static final:常量,应用率高
  1)必须声明同时初始化
  2)通过类名点来访问、不可被改变
  3)建议:常量名所有字母都大写,多个单词用_分隔
  4)编译器在编译时将常量直接替换为具体的值,效率高
  5)何时用:数据永远不会改变,并且还常常被使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值