Java笔记 day07

笔记

  1. 深入变量

    • 局部变量的作用域:在开始定义的位置开始,到紧跟着结束的花括号为止
    • 成员变量的作用域:在整个类中都有效
  2. 成员变量,可以先使用后定义(只是看起来是,从上到下的顺序,其实还是先定义后使用的),局部变量必须先定义而后才能使用

  3. 变量的生命周期:变量的作用域决定了变量的生命周期,说明作用域不同,生命周期就不一样。

  4. 什么时候使用成员变量和局部变量

    • 考虑变量的生存时间,这会影响内存开销
    • 扩大变量作用域,不利于提高程序的高内聚
    • 开发中应该尽量缩小变量的作用范围,如此在内存中停留时间越短,性能也就更高
  5. package(包)

    • 语法格式: package 包名.子包名.子子包; 必须把该语句作为Java文件中,并且是第一行代码(所有代码之前).

注释是可以写在前面的

  1. 包名如何定义
    • 不能以java开头,因为Java的安全检查机制会检查
    • 包名必须遵循标识符命名规范,/全部小写
    • 在企业开发中,包名有公司域名的需要倒写
    • 在开发中,都是先有package,而后在package中再定义类
  2. import语句
    • 没有使用import之前,操作不在同一个包中的类,得使用全限定名来操作.
    • 编译会自动去java.lang包中去寻找使用到的类,比如String,System,所以他们不需要导入,推论:非java.lang包的类,都需要导入.
    • 如果需要导入java.util中的多个包,无需逐个导入,可以使用通配符""*""
    • 在Eclipse工具中,即使我们使用了通配符*,在格式化代码的时候,也会转换为N条import语句.

注意事项:

  • 编译器会默认找java.lang包下的类. 但是却不会去找java.lang的子包下的类.
  • 此时我们也得使用import java.lang.reflect.Method
  1. 通过反编译工具查看,其实所谓的静态导入也是一个语法糖/编译器级别的新特性.
  2. 什么是封装?
    • 把对象的状态和行为看成一个统一的整体,将二者存放在一个独立的模块中(类);
    • "信息隐藏", 把不需要让外界知道的信息隐藏起来,尽可能隐藏对象功能实现细节,向外暴露方法,保证外界安全访问功能; 把所有的字段使用private私有化,不准外界访问,把方法使用public修饰,允许外界访问.
  3. 封装的好处
    • 使调用者正确,方便地使用系统功能,防止调用者随意修改系统属性
    • 提高组件的重用性
    • 达到组件之间的低耦合性
  4. 访问权限控制
    • private:表示私有的,便是类访问权限,只能在本类中访问,离开本类之后,就不能直接访问
    • 不写(缺省):表示包私有,表示包访问权限,访问者的包必须和当前定义的包相同才可以访问
    • protected:表示子类访问权限,同包中的可以访问,如果不同包,需要有继承关系,也可以访问
    • public:表示全局的,是可以公共访问的权限,如某个字段/方法,使用了public方法,在当前项目的任何地方都是可以访问的
- 一般的:字段都使用private修饰,表达隐藏,为了安全性
- 拥有实现细节的方法,一般使用private修饰,不希望外界(调用者)看到该方法的实现细节
- 一般的,方法我们使用public修饰,供外界直接调用
- 一般的,我们不用缺省,即使要使用,也仅仅是暴露给同包中的其他类
- protected:一般,在继承关系中,父类需要把一个方法只暴露给子类
  1. JavaBean规范
    • JavaBean 是一种JAVA语言写成的可重用组件(类)
    • 必须遵循的规范
      • 类必须使用public修饰
      • 必须保证有公共无参数构造器,即使手动提供了带参数的构造器,也得提供无参数构造器
      • 包含了属性的操作手段(给属性赋值,获取属性值)
    • 成员
      • 方法:Method
      • 事件: event
      • 属性:property

你可能感兴趣的:(Java笔记 day07)