在就业班的几天内 学到了很多东西,继承,多态,接口,异常等等。
day01
-
继承的概念
-
概念 :面向对象得三大基本特征之一,使子类可以拥有父类得属性和方法
-
-
继承的格式
-
public class 子类 extends 父类
-
-
继承的优点
-
提高了代码的复用性
-
提高了代码的维护性
-
-
继承的缺点
-
使子类与父类强耦合(紧密联系在一起)在一起,使子类会无条件继承父类得属性和方法,降低了子类得独立性
-
-
继承中变量的访问特点
-
规律:就近原则 局部优先原则
-
子类的局部变量
-
子类的成员变量
-
父类的成员变量
-
-
super关键字在访问成员变量时的用法
-
super.变量名---->访问父类得成员变量
-
this.变量名----->访问本类得成员变量
-
-
继承中构造方法的访问特点(super调用构造方法)
-
super();调用父类得构造方法,应该是首行非注释代码
-
this(); 调用本来得构造方法,应该是首行非注释代码
-
-
继承中成员方法的访问特点(super调用成员方法)
-
super. 方法名(); 父类的成员方法
-
this. 方法名(); 本类的成员方法
-
-
方法重写
-
子类中出现了与父类相同的方法
-
-
方法重写注意事项
-
不能重写private的方法
-
private--默认---protected--public:子类中重写的方法的访问范围要大于等于父类中方法的访问范围
-
-
继承的注意事项
-
单继承体系
-
多层继承
-
-
package的概念
-
文件夹
-
-
import的概念
-
导入不同包下的java类
-
导包时使用通配符: import cn.itcat.*;
-
-
权限修饰符
private可以
默认可以可以
protected可以可以可以
public可以可以可以可以
-
修饰方法,代表当前方法不可以被重写
-
修饰变量,变量就变成常量
-
修饰类,不允许被继承
-
修饰变量:1.类名.变量名 2.类得多个对象共享一个变量得值
-
修饰方法 类名.方法名() 注意点:只能访问本来得静态属性和静态方法
day02
-
多态的概念
-
概念:同一段代码不同时刻表现出不同得执行状态
-
-
多态的前提
-
继承
-
方法得重写
-
父类得引用指向子类得对象
-
-
多态中成员访问特点
-
成员变量:编译看左边,运行看左边
-
成员方法: 编译看左边,运行看右边
-
-
多态的优点和缺点
-
优点:提高了代码得拓展性
-
缺点:父类得引用无法调用子类特有得方法
-
-
多态中的向上转型和向下转型
-
向上转型:父类得类名 父类引用=new 子类得对象(); 自动类型转换
-
向下转型:子类得类名 子类得引用=(子类得类名)父类引用;强制类型转换
-
-
抽象类的概念
-
通过abstract修饰得类为抽象类
-
-
抽象方法的概念
-
通过abstract修饰得方法为抽象方法,抽象方法没有方法体得方法
-
-
抽象类的特点
-
抽象类和抽象方法必须通过abstract关键字修饰
-
抽象类不一定会有抽象方法,但是一旦有了抽象方法必须是抽象类
-
抽象类不能实例化对象
-
抽象类得子类必须重写抽象方法或者自己也变为抽象类
-
-
抽象类的成员特点
-
成员变量 变量/常量
-
构造方法 无参/有参
-
方法 抽象/普通
-
-
接口的概述
-
特殊得抽象类,接口中全部都是抽象方法,行为规范
-
-
接口的特点
-
接口是通过 interface关键字修饰
-
类与接口之间是实现关系,通过implments 关键字实现
-
接口不可以实例化对象
-
接口得实现类要么重写抽象方法要么自己也变成抽象类
-
-
接口成员的特点
-
静态常量
-
抽象方法
-
-
类和接口的关系
-
类与类之间关系:继承关系,单继承体系,支持多层继承
-
类与接口之间得关系:实现得关系,可以单实现,也可以多实现,并且能够继承某个类得同时实现某个接口
-
接口与接口之间得关系:继承关系,支持多继承
-
day03
-
类名作为形参和返回值
-
类名作为形参或返回值,其实传递或返回的是该类得对象
-
-
抽象类作为形参和返回值
-
抽象类名作为形参或返回值,其实传递或返回的是该类子类得对象
-
-
接口作为形参和返回值
-
接口名作为形参或返回值,其实传递或返回的是该接口实现类得对象
-
-
内部类概念
-
类内部声明得类
-
-
内部类的访问特点
-
内部类可以直接访问外部类得成员,包括私有得
-
外部类访问内部类成员,需要实例化内部类对象
-
-
内部类的分类
-
成员内部类
-
局部内部类
-
-
成员内部类
-
声明在类得成员位置得类
-
外部类得类名.内部类得类名 引用名=外部类得对象.内部类得对象
-
public class Outer {
private int num = 10;
public class Inner {
int num=20;
public void show() {
int num=30;
System.out.println(num);
System.out.println(this.num);
System.out.println(Outer.this.num);
}
}
public void method() {
Inner i = new Inner();
i.show();
}
}
public class InnerDemo {
public static void main(String[] args) {
//创建内部类对象,并调用方法
// Inner i = new Inner();
Outer.Inner oi = new Outer().new Inner();
oi.show();
System.out.println("------------------------");
Outer outer=new Outer();
Outer.Inner ooi=outer.new Inner();
ooi.show();
System.out.println("------------------------");
Outer o = new Outer();
o.method();
}
}
-
局部内部类
-
类得方法内部声明得类
-
-
匿名内部类
-
没有名字得局部内部类
-
new 接口/抽象类/类(){方法重写()}
-
-
Math工具类
-
java.lang.Math
-
abs():求绝对值
-
ceil():向上取整 12.35 12.56--->13
-
floor():向下取整 12.35 12.56------>12
-
round():四舍五入 12.35-->12 12.56--->13
-
max():两数求最大值
-
min():两数求最小值
-
pow():求幂数 2 3
-
random():随机数 [0.0-1.0)
-
-
System类
-
exit():退出虚拟机 echo %errorlevel%
-
currentTimeMillis():返回得是距1970年1月1日0点0分0秒距现在得毫秒差
-
-
Object类
-
toString():一般用于对当前对象进行说明
-
equals():比较两个对象得内容是否相等
-
-
Arrays类
-
java.util.Arrays
-
toString():以字符串得方式获取数组
-
sort(): 数组排序
-
-
封装数据类型
-
byte Byte
-
short Short
-
int Integer
-
long Long
-
float Float
-
double Double
-
char Character
-
boolean Boolean
-
-
如何通过Integer对象描述一个int型值
-
new Integer(100)
-
new Integer("100")
-
Integer.valueOf(100)
-
Integer.valueOf("100")
-
-
int与String互换
-
int转String
-
1+“”
-
String.valueOf(5)
-
-
String转int
-
Integer.valueOf("5") intValue()
-
Integer.parseInt("5");
-
-
-
自动拆箱装箱jdk1.5
-
自动装箱:int i=100; Integer ii=i;
-
自动拆箱:Integer ii=Integer.valueOf(100); int i=ii;
-
-
Date类实例化 java.util
-
new Date()
-
new Date(long)
-
-
Date类常用方法
-
getTime()
-
setTime(long)
-
-
SimpleDateFormat格式化日期 java.text
-
yyyy MM dd HH mm ss
-
format():将日期转换为指定格式得字符串
-
parse():将指定格式得字符串转换为日期
-
-
Calendar类用法 java.util
-
Calendar c=Calendar.getInstance();
-
c.get(Calendar.Year)根据日历字段返回相应得值
-
add()
-
set()
-
-
异常
-
概念:程序中出现得错误
-
异常得体系结构
-
Throwable
-
Error:不可处理异常
-
Exception:可处理异常
-
编译期异常:
-
运行时异常:RuntimeException
-
-
-
-
try:异常得监视块
-
catch:异常得捕获块
-
-
Throwable成员方法
-
getMessage(): 错误原因
-
toString():简要异常消息
-
printStackTrace():详细异常消息
-
-
运行时异常和编译时异常
-
运行时异常
-
编译时异常:要求编译时必须进行异常处理
-
-
异常举例
-
ArithmeticException:数学异常除数不能为0
-
NullPointerException:空指针异常
-
StringIndexOutOfBoundsException:字符串索引越界
-
NumberFormatException:数字格式化异常
-
ClassCastException:类型转换异常
-
-
多重catch块
-
try{}catch catch
-
-
throws
-
回避异常
-