首页 / JAVA / JavaSE面向对象编程(七)
JavaSE面向对象编程(七)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaSE面向对象编程(七),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3529字,纯文字阅读大概需要6分钟。
内容图文
![JavaSE面向对象编程(七)](/upload/InfoBanner/zyjiaocheng/814/7c91046039d34ddaa3de91f41ca6aba7.jpg)
文章目录
1.面向对象(三)
1.1.构造器(构造方法)
语法:访问权限修饰符 类名(参数列表){}
作用:①创建对象 ②创建对象的同时要给当前对象的属性赋值
特点:1)用户没有手动创建构造器系统会自动创建一个无参的构造器
2)用户创建构造器,系统不会为类提供无参构造器
3)也可和方法一样实现方法的重载
4)默认构造器的修饰符与所属类的修饰符一致
1.2.this关键字
作用:this关键字代表当前的对象或正在创建的对象
this关键字修饰什么:
- 属性 this.属性
- 方法 this.方法();
- 构造器 this(参数)
在构器this注意事项:
- this必须放在构造方法的第一行
- 有n个构造方法 this 只能出现n-1
1.3.javaBean和相关的关键字(package和import)
javaBean标准:①该类的公共的(public) ②私有的属性并且提供getter/setter方法
package: 作用:定义包;以目录方式管理javaBean
写在类的首行,目录结构以“.”分隔;如 package 包名;
定义包的规范:项目类型.公司名称.项目名称.模块名称;包名所有字母小写的
import:作用:导入相关类
方式:import 包名.类名/接口名;
特点:可以使用“*”代表包下的所有类或接口.
如果调用不同包中的相同的类名,创建对象时要定义类的全路径;
如:包名.类名 对象=new包名.类名();
java.lang包下接口或类自动导入不需要import ;如: String ,System,Math等 ,
补充:静态导入 import static 包名.类.静态成员;
1.4.继承(面向对象特性二)
为什么要用继承?目的实现代码的复用
语法:class subclass extends superclass | 子类(派生类) extends 父类(基类或超类)
特点:
- 子类继承父,拥有(继承)父类中的所有成员,在权限范围内.
- 子类不能继承父类中的构造器,只能用super调用.
- 类的继承关系统是单继承,子类只能有一个直接父类;父类可以有多个子类
- 继承具有传递性,如果没直接继承父类,默认继承java.lang.Object类
- extends 扩展,子类不是父类的子集是父类的扩展。
public class Expr2 {
public static void main(String[] args) {
Cylinder cylinder = new Cylinder();
cylinder.setRadius(12.0);
cylinder.setLength(2.3);
System.out.println("圆柱的体积是:"+cylinder.findVolume());
}
}
class Circle{
private double radius;
public Circle() {
this.radius = 1;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double findArea() {
return Math.PI*radius*radius;
}
}
class Cylinder extends Circle{
private double length;
public Cylinder() {
this.length = 1;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double findVolume() {
return this.findArea()*this.length;
}
}
1.5.给属性赋值的先后顺序
- 通过创建对象给属性赋初始值
- 显式给属性赋初值
- 通过构造器给属性赋值
- 通过setter方法赋值
1.6.方法重写(override/overwrite)
什么是重写:对父类方法覆盖(覆写)
重载(overload):必须在同一个类,方法名相同,参数列表不同,与返回值类型无关
前提:
- 一定有继承关系
- 子类方法和父类方法的返回值类型,方法名称,参数方法列必须一致.
注意:父类方法:public 父类类型 方法名(参数){}
子类方法:public 父类类型/子类类型 方法名(参数){}
- 子类方法的权限修饰符不能小于父类的权限修饰符
- 子类方法抛出异常不能大于父类方法抛出的异常
- static子类不能重写父类中的方法,static静态;子父类的方法同为static和非static
- final 修饰方法不能被重写(表示的是最终的方法)
- abstract 声明方法抽象方法,必须被子类方法重写.
- native 没有方法体,调C或C++的实现 。
- synchronized 线程锁和重写无关.
1.7.super关键字
super可以显式调用父类
- 属性,super.属性;
- 方法, super.方法();
- 构造器 super(参数)
super()调用构造器:
- 默认子类构造器会隐式会调用父类无参构造器
- super()只能出现的构造器的首行
- super() 和this()不能同时出现
- super(参数)表示显式调用父类的相应参数的构造器.
内容总结
以上是互联网集市为您收集整理的JavaSE面向对象编程(七)全部内容,希望文章能够帮你解决JavaSE面向对象编程(七)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。