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.针对修改关闭,针对扩展开放
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.针对修改关闭,针对扩展开放
阅读全文
0 0
- Java类和对象的分类及详细解析
- 面相对象—抽象类—详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 详细解析Java中抽象类和接口的区别
- 小结
- Cassandra简介
- 安卓全屏设置实现(基于Activity与AppCompatActivity)
- 第七周(1) 后台代码编写、客户端具体功能实现与界面优化
- Linux系统编程——文件描述符的复制:dup()和dup2()
- Java类和对象的分类及详细解析
- Win10+VS2017编译opencv3.2.0和opencv_contrib3.2.0来调用text模块
- 分析Firefox浏览器sqlite数据库
- Java实现-矩阵归零
- Very useful VIM command
- Centos7 内核从3.10升级到4.12过程
- GWT编译中出现Invalid Character问题的一种解决方式
- 写博客的三个阶段
- EL