Java类和对象的分类及详细解析

来源:互联网 发布:炉石主播 知乎 编辑:程序博客网 时间:2024/06/06 20:45
类的分类

    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.针对修改关闭,针对扩展开放