java 面向对象oop
2018-06-29 10:38:57 24 举报
AI智能生成
java oop面向对象思维导图 ,java oop面向对象思维导图
作者其他创作
大纲/内容
oop面向对象程序设计
1.类和对象
使用对象的步骤
School center = new School();引用对象成员:使用“.”进行以下操作引用类的属性:对象名.属性引用类的方法:对象名.方法名()
什么是类
什么是对象
系统会给属性赋默认初始值
对象的属性和方法通常被封装在一起,写在类文件当中
万物皆对象
2.类的方法
方法的定义
//\t访问修饰符 返回值类型 方法名\tpublic void run(){\t\t//方法体\t}
//\t访问修饰符 返回值类型 方法名 \tpublic String rockBall(){\t\t\t\treturn \"\";\t}
// 访问修饰符 返回值类型 方法名 参数类表\tpublic void setName(String name) {\t\tthis.name = name;\t}
方法调用
成员变量
局部变量
方法重载
3.对象和封装
封装
static
this()
调用当前类的构造
this
当前对象的引用
没有返回值类型
方法名和类名相同
系统默认调用无参构造
自己手动写了构造方法后,系统不再提供默认无参构造方法
4.继承
继承关键字 extends
继承的好处
将重复代码抽取到父类中 代码复用
使用继承注意点
子类与父类是is-a关系 狗是宠物吗?
super
父类对象的引用
super()
调用父类的构造方法
访问修饰符
访问修饰符 本类 同包 子类 其他private √默认\t √ √protected √ √ √public √ √ √ √
类初始化顺序
父类属性==父类构造==子类属性==子类构造
如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下,写不写“super();”语句,效果是一样的。如果子类的构造方法中通过super显式调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。如果子类的构造方法中通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则。特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object类的无参构造方法为止。
方法重写
方法重写的规则必须要有继承方法名相同参数列表相同返回值类型相同或者是其子类访问权限不能严于父类
Object类被子类经常重写的方法
toString();返回当前对象本身的有关信息,按字符串对象返回equals();比较两个对象是否是同一个对象,是则返回truehashCode();返回该对象的哈希代码值getClass();获取当前对象所属的类信息,返回Class对象
abstract
修饰方法 抽象方法
没方法体
抽象方法,必须存在于抽象类当中
抽象方法必须被子类重写,除非子类也是抽象类
修饰类,抽象类
不能被实例化
5.多态
instanceof
对象 instanceof 类或接口
如何实现多态
1.需要有继承关系
2.子类必须重写父类的方法
3.父类的引用指向子类的对象
程序中的多态
父类引用指向子类对象 Pet pet = new Dog();
生活中的多态 同一种操作,由于条件不同,产生的结果也不同
6.接口
接口的关键字 interface
接口的特点:
接口的实现 implements 称为实现类
接口是一种能力 体现在接口的方法上
7.异常
使用log4j记录日志
1.在项目中加入log4j的JAR文件选择项目 右键 属性选中Java Bulid Path选择 第三个选项卡Librariesadd JARS选中项目中的jar包
异常的分类
java.lang.Object java.lang.Throwable java.lang.Exception
运行时异常,不要求程序必须做出处理 java.lang.Object java.lang.Throwable java.lang.Exception java.lang.RuntimeException
Exception 检查时异常
常见的异常类型
Exception 异常层次结构的父类ArithmeticException 算术错误情形,如以零作除数ArrayIndexOutOfBoundsException 数组下标越界NullPointerException 尝试访问 null 对象成员ClassNotFoundException 不能加载所需的类IllegalArgumentException 方法接收到非法参数ClassCastException 对象强制类型转换出错NumberFormatException 数字格式转换异常,如把\"abc\"转换成数字
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
try 执行可能产生 异常的代码
catch 捕获异常
finally 无论是否发生异常,代码总能执行
throws 声明方法可能要抛出的各种异常 \tpublic void test() throws Exception{\t\t\t}
throw 手动抛出异常 throw new Exception(\"找不到对象\");
0 条评论
回复 删除
下一页