day11文字笔记

知识回顾:
1、向上造型
超类型的引用指向派生类的对象
能点出来什么,看引用的类型

2、方法的重写()
发生在父子类中,方法名相同,参数列表相同
重写方法被调用时,看对象的类型

3、重写与重载的区别

重写:发生在父子类中,方法名相同,参数列表相同
重载:发生在同一类中,方法名相同,参数列表不同

一、正课内容
1、package和import
package—生成包
作用:避免类的命名冲突
同包中的类不能同名,类的全称:包名.类名
包名往往有层次结构
包名往往都小写:域名反写 . 项目名称 . 模块名称 . 类名
com.taobao .
cn.tedu .
因为若类名作为唯一的标识-----很可能会出现命名冲突问题
同一个包不能同名,不同的包可以同名
import:
同包中的类可以直接访问,不同包中的类不可以直接访问
可以写类的全称来访问,但是不建议
建议先声明类再访问类

2、访问修饰词—封装的一种表现,控制访问权限的(不想让别人看的封装起来,想让别人看到的暴露出去)
数据—成员变量—私有化(private)
行为—方法—公开化(public)

public:公开的,任何类
private:私有的,本类访问
protected:受保护的,本类、派生类、同包类
默认的:什么也不写,本类、同包类-----java一般不建议默认权限

案例1:
Class card{
prviate String cardId;
prviate String cardPwd;
prviate double balance;//数据私有化

public boolean checkPwd(String pwd){//检测密码---公开检测行为
	if(pwd与CardId相同)
		return ture;
	else{
		return false;
	}

}

}

3、final:最终的 、不能改变的—单独应用的机率很低
修饰变量:变量不能再改变
Class Eoo{

}
修饰方法:方法不能被重写
修饰类:类不能被继承,final不能被别的类继承,但是可以继承别的类
final class Aoo{  }
Class Boo extends Aoo{  }//编译错误,final后,类不能被继承

4、static:静态的
成员变量:类里面的变量统称成员变量
成员变量分为实例变量和静态变量
创建对象(new)对象
实例变量:没有static修饰,属于对象,都存储在堆中,有几个对象就有几份
通过对象点来进行访问
静态变量:由static修饰,属于类,存储在方法区中,内存中静态变量只有一份
通过类名点来进行访问
何时使用静态变量:所有对象所共享的图片,视频,音频
静态方法:
由static修饰
属于内存中的方法区,只有一份
通过类名.点来进行访问
静态的方法中没有隐式的this.传递,所以是不能直接访问实例成员
何时用:方法的操作与对象无关
class Noo{
int a;
void show(){

}	
	}
静态块:   
	由static修饰
	属于类,在类被加载期间会自动执行,因为一个类只被加载一次,所以静态块也只执行一次
	何时用:加载/初始化静态资源(图片,音频,视频)

****内存管理:由JVM来进行管理
堆:new出来的对象,成员(实例)变量
栈:局部变量(包括方法的参数)
方法区:.class字节码文件,同时还包括静态变量和所有的方法(包括构造方法等等)