第5天
1-1.package:
1)作用:避免类的命名冲突
2)包名可以有层次结构,同包中的类不能同名、
3)类的全称:包名.类名
4)建议:包名所有字母都小写----包的命名规则建议用:域名反写.项目名称.模块名称.类名
1-2.import:
1)同包中的类可以直接访问
不同包中的类不能直接访问,想访问有如下两种方式:
1.1)先import声明类再使用类-----建议
1.2)类的全称-------------------太繁琐、不建议
2.访问控制修饰符----给成员添加访问控制修饰符号(变量private,方法public)
1)public:公开的-----任何类
2)private:私有的------本类
3)protected:受保护的------本类,派生类,同包类
4)默认的(什么也不写):-----本类,同包类
说明:
1)类的访问修饰符只能是public或默认的----同一个包中public修饰的类只能有一个
2)类中成员的访问修饰符如上四种都可以
3.final:最终的、不可改变的----------应用率极低(为static final 常量)
1)修饰变量:变量不能被改变
2)修饰方法:方法不能被重写(可以防止不经意被重写)
3)修饰类:类不能被继承(可以保护类不被继承修改),但final修饰的类可以去继承别的类
4.static:静态的
1)静态变量:
1.1)由static修饰的
1.2)属于类的,存储在方法区中,只有一个-----一个类的static成员只由一个,无论创建了多少个对象
1.3)常常通过类名.变量名来访问----实例变量必须通过对象.变量名访问
1.4)何时用:所有对象所共享的数据(图片、音频、视频等)----所有人都可以共享的东西可以设置成静态的
注意:对象特有的东西不能用static
2)静态方法:
2.1)由static修饰的
2.2)属于类的,存储在方法区中,只有一个
2.3)也是通过类名.方法名来访问----首字母大写的单词.方法名();
2.4)静态方法名没有隐式的this传递----没有this意味着没有对象
静态方法中不能直接访问实例变量/方法(需要先创建对象----类名 对象名=new 类名();,然后通过----对象名.变量/方法去访问)
而静态方法可以在当前类中去直接访问静态变量/方法-----需要先创建对象再通过对象点访问的为实例方法
2.5)何时用:方法的操作(方法体)仅与参数有关(返回值结果多少取决于传的参数多少)
而与对象无关(无论创建多少个对象,最终返回值结果都一样)
注意:对象的行为不一样不能用static
3)静态块:一般先声明静态变量,再写静态块static{语句块}
3.1)属于类的,再类被加载期间自动执行,因为类只被加载一次,所以静态块只执行一次
3.2)何时用:加载/初始化静态资源(图片、音频、视频等)---给静态变量赋初始值
数据(变量)私有化(private)
行为(方法)公开化(public)
例如:
class Card{
private String cardId;
private String cardPwd;
public boolean checkPwd(String pwd){//验证密码
if(pwd.equals(cardPwd)){
return true;
}else{
return false;
}
}
}
* 继承、封装、多态
* 成员变量(类里面、方法外面)
1)实例变量:没有static修饰的,属于对象的,存储在堆中
有几个对象就有几个,通过对象点名来访问
2)静态变量:由static修饰的,属于类的,存储在方法区中
* 补充
1)堆:new出来的对象(包括实例变量)
2)栈:方法里面的局部变量(包括参数)
3)方法区:.class字节码文件(包括方法、静态变量)
项目:
1)添加访问权限
2)准备图片
Shoot射击游戏第一天:
1.创建了6个对象类,并创建World类测试
Shoot射击游戏第二天:
1.给6个对象类添加构造方法,并测试
Shoot射击游戏第三天:
1.设计小敌机数组、大敌机数组、小蜜蜂数组、子弹数组,并测试
2.设计FlyingObject超类,6个对象类继承超类
3.在FlyingObject超类中设计构造方法
Shoot射击游戏第四天:
1.将小敌机、大敌机、小蜜蜂数组合为FlyingObject数组,并测试
2.在6个派生类重写FlyingObject类的step()
3.画窗口
Shoot射击游戏第五天:
1.给类中成员添加访问控制修饰符
2.给6个对象类准备图片属性
给六个对象类中的成员(变量和方法)添加访问权限
1)数据(成员变量)
1.1)超类中的公有属性protected----只有子类可以访问,其它类访问不了
1.2)派生类中的私有属性private----父类访问不了
2)行为(方法)-----公开public
给六个对象类添加图片属性