面向对象收尾
- 访问修饰符:是属性的访问的权限。
1.public:公有化的,在哪里都可以用。
2.protected:受保护的,不同包没继承关系不行,不同包有继承关系是可以的,但是必须在子类中使用。
3. :有好的(friendly),在同一包下使用。
4.private:私有化的,在同一类中可以使用。
5.等级关系:public>protected>friendly>private - 内部类:是为了更好的封装 , 想要获取内部类的资源,必须构建外部类的对象。
1.普通内部类:一个类中包含另一个类
|—Outer.Inner = new Outer().new.Inner();
|—Outer outer = new Outer();
inner i = outer.Inner();
普通内部类:没有构建对象的前提下,外部类是不可以使用内部类的资源的;内部类可以使用外部类的所有资源(public, private),如果创建了对象,怎么的就都可以了。
2.静态内部类:用static修饰的,直接通过类名点就可以,就是为了方便,但是从类加载的逻辑中体会,他只能加载一次 。
|—推荐Outer.Inner.a = “admin”; 静态属性a
new Outer.Inner().b = “哈尔滨”; 实例属性b
静态内部类:没有构建对象的前提下,外部类不可以使用内部类资源的;内部类只能使用外部类的所所有静态资源(public,private),静态内部类必须加载外部类的静态资源。
3.方法内部类:注意方法内部类不可以使用public修饰
在方法中的类:只能在当前方法体的方法体内,new Inner(); 对象在调用资源,外部类的普通方法,和其他类是不可以创建方法内部类的对象的。
4.匿名类:只能在方法体内编写,用法是针对接口和抽象类的,它可以把接口和抽象类当作类来使用,在匿名类上接口和抽象类是可以new的,目的是起到一个临时性,功能灵活的意义,普通类也可以构建匿名类,不过没有意义。 - 类和类之间的关系
1.继承:
2.实现:
3.依赖关系:临时性,偶然性,在代码层面上体现的是类B作为类A方法中的UML图使用 虚线空心三角—>
4.关联关系:强以来,不是临时性的,一般都是长期的,两者是平等关系。
5.聚合关系:公司与员工的关系
6.组合关系:人和大脑的关系
以上类和类之间的关系从代码体现的是:
1.一个类作为另一个类中的方法的参数:依赖关系
2.一个类作为另一个类的属性:
关联关系
|—聚合关系
|—组合关系
类和类之间关系表现的强弱程度依次是:组合>聚合>关联>依赖 - 对象数组: 对象数组只可以存储对象; 对象数组中是用来存储类类型
对象数组定义:
类名[] 变量名 = new 类名[];
person[] p = new Pe
rson[3];
对象数组中存储的是对象的引用(地址) - enum枚举
枚举是一个特殊的”类“,用来描述大自然中固定的一类事物,这些是更古不变的。
public enum Gender{
MALE("男人"),FEMALE("女人")
public Sptring name ;
People(){}
people(String str){
this.name = str;
}
public void eat(){
}
static{
}
{
}
public static void main(String[] args){
People p = People.MALE;
System.out.println(p);
System.out.println(p.name);
switch(p){
case MALE:
System.out.println("男人")
break;
case FEMALE:
System.out.println("女人");
break;
default:
break;
}
}
}
输出结果为: MALE
男人
男人
仅用于个人学习总结