JAVA基础语法07
笔记 封装
- 封装
- 将类的某些信息隐藏在类内部,不允许外部程序直接访问
- 通过该类提供的方法来实现对隐藏信息的操作和访问
- 隐藏对象的信息
- 留出访问的接口
package com.demo3;
/**
* 宠物猫类
*
* @author zzh
*/
public class cat {
// 属性: 名字,年龄,体重,品种
// 修改属性可见性--- private(类中方法访问) protected public。属性默认初始化 String null , int 0 ,double 0.0
private String name;
int month;
double weight;
String species;
// 方法:跑动,吃东西
//构造方法
public void cat(int month){
this.setMonth(month);
}
// 创建 get,set。在方法添加属性的限制 在source/generate可以自动添加2中方法
public void setMonth(int month){
this.month=month;
}
public int getMonth(){
return this.month;
}
}
- 包
- 作用
- 管理Java文件
- 解决同名文件冲突
- 作用
package com.Test; //定义包 放第一行
import com.demo3.*; // 导包 *表示调用该包所有的类
import com.demo3.cat; // 指定效率高 如果导入 import com.demo01.*中的cat类 优先导入指定类
//import com.demo01.cat; 包冲突
//import com.*; //只能加载com下直接管理类,但com中没有类所有会报错
public class test {
cat cat = new cat();
// 直接加载import com.demo3.cat;
com.demo3.cat cat2 = new com.demo3.cat();
}
类中有静态变量
static类对象共享,直到销毁
cat one = new cat();
// 可以通过对象名访问也可以通过类名访问,推荐 类名. 访问
one.month = 3; // 会有警告信息 month为静态变量
cat.month = 3; // 直接类名静态访问
- 注
- 静态方法中不能使用this
- 静态方法访问非静态方法只能通过实例化,通过对象访问
public static void eat(){
cat temp = new cat();
temp.run();
}
构造代码快优于构造函数且构造代码块可以有多个。静态代码块优于构造代码块且静态也可以拥有多块。静态代码块与静态成员调用原则相同。
- 注意问题
- 静态成员的生命周期:类的加载产生,销毁时释放,生命周期长。
- 静态代码块只执行一次。