Java类和对象
类的分类
1.静态类和实例类
2.内部类和外部类
3.抽象类和实体类
4.匿名类和非匿名类
5.父类(基类)和子类(派生类)
6.泛型类和普通类
类的成员
一、Constructor构造方法
1.构造方法名与类名相同,没有返回值,不用void
2.创建类时,系统默认创建一个无参构造方法
3.创建对象时,系统默认调用父类无参构造方法-子类无参构造方法
4.如果创建了有参构造方法,系统不再自动创建无参构造方法
5.如果创建了构造方法,必须手动调用构造方法
6.子类无法继承父类的构造方法,但可用super(sex)调用
7.构造方法可以重载,但不能重写
二、Field属性
1.子类无法继承父类的私有属性
2.静态属性调用:Car.color
3.实例属性调用
Car myCar=new Car();
String color=mycar.color;
4.内部类访问外部类属性:Pet.this.color
5.外部类访问非静态内部类属性
Pet.Cat cat=new Pet().new Cat();
String color=cat.color;
6.外部类访问静态内部类属性:Cat.color;
7.其他类访问静态内部类属性
Pet.Cat cat=new Pet.Cat();
String color=cat.color;
三、Method方法
(一)方法的特征
1.main方法逻辑上独立于类
2.非void方法必须有return返回值,并且和返回类型匹配
3.void方法不能用return返回值,但可以用return退出方法
4.最好一个方法实现一个功能
5.形参用来输入,return用来输出
6.参数传递只有值传递,没有引用传递
7.子类无法继承父类的私有方法
(二)Override方法重写
1.子类和父类方法名和参数列表完全相同
2.子类返回值类型<=父类返回值类型
3.子类访问权限>=父类访问权限
4.子类抛出的异常<=父类抛出的异常
方法重写和方法重载没有关系
(三)Overload方法重载
1.同一个类中
2.方法名相同
3.形参的类型、顺序或数量不同
4.与返回类型和返回值无关
面向对象设计原则
1.多用组合,少用继承
2.针对接口编程,不依赖具体实现
3.设计接口,包括不变的常量和变化的行为
4.针对修改关闭,针对扩展开放
