1.多态:
什么叫多态? 多态的前提条件是什么?多态有什么弊端? 该如何去解决弊端
多态是在不同时刻体现出来的不同状态.
多态是需要有1继承关系
2方法重写,子类覆盖父类.
3父类名.对象名=new 子类名();
多态的弊端是不能访问子类独有的功能 占空间堆内存 格式是 父类名 对象名 =new 子类名
多端的弊端我们可以使用向下转型 格式为 将父类强制转换为子类的类型 子类 对象名=(子类名)父类名;
2.抽象类
什么是抽象类? 怎么去识别抽象类? 抽象类的特点?
一个类中,如果该类中存在一个功能,只有方法声明,没有方法体,需要将该类定义为抽象类.
如果一个类中有抽象方法,这个类就是抽象类.但抽象类中不一定必须有抽象方法 也可以是普通方法.
1:抽象类不能实例话(不能创建对象)
2:抽象类需要子类来实例化 格式为 父类引用 指向子类引用
3:如果子类也是抽象类 ,那么一定会存在一个具体的子类
4:abstract. 他可以修饰类 ,也可以修饰方法
5:抽象类有构造器 有参无参(对数据进行初始化)
6:成员方法如果是非抽象方法,子类继承父类 可以提高代码的复用性
7 :abstract在定义方法时不能跟 final,private 共用 (会冲突)
3. 接口
1)接口指体现事物的一种扩展性功能.(本身不具本,经过学习才具备的功能)
2)接口中只能定义抽象方法
3)接口不能实例化
4)通过接口的子实现类(接口名+impl)
5)接口和子实现类之间的关系(implements)
6)实例化的格式为(接口名 对象名=new 子实现类名();
7)接口的子实现类不是具体类,子实现类研究的都是具体类,因为具体化的实现类可以实例化
4. 接口中的注意事项
成员变量 :只能时常量
构造方法:接口中没有构造方法
5. 类与类的关系?接口与接口的关系 ?类与接口的关系?
类与类:继承关系 ,单继承.不支持多继承.但可以实现多层继承
接口与接口:继承关系,可以多继承.也可以单继承
类与接口:实现关系 ,一个类继承另一个类时可以实现多个接口
6. 包的概念以及代码分层:
1调用范围:
7. 内部类:
内部类时可以直接访问他的外部类.包括私有的
外部类访问内部类 必须同过外部对象来访问
8. 内部类的分类
成员内部类:在外部类的成员位置定义的类
局部内部类:在局部位置(方法中)定义的类
无关类访问内部类(非静态的)
格式为(外部类名.内部类名 对象名=外部对象.内部对象;
测试类中 访问惊天内部类成员方法格式为(外部类名.内部类名 对象名=new 外部类名.内部对象;
9.object类
public String toString();
toString 方法表示会返回一个"以文本方式表示"此对象的字符串
public boolean equals(Object obj):其他对象和当前的obj对象进行比较,判断是否相等
==:如果连接的是两个基本的数据类型,那么就比较值是否相同
int a = 10;
int b = 20;
System.out.println(a==b);
如果连接的是两个数据类型,那么会比较地址值是否相同;
- 1
- 2
- 3
- 4
- 5
protected Object clone() :建并返回此对象的一个副本
clone方法执行特定的复制操作.如果此对象所在的类不能实现接口 Cloneable,则会抛出:
Clone Not Stupported Exception
equals(Object obj)----->在String类中,默认的是比较地址值是否相同,重写了该方法之后,就会比较内容是否相同
10.Scanner类
public Scanner (InputStream source):构造方法
一般:录入int 和String
int nextInt();
String nextLine();
double nextDouble();
- 1
- 2
- 3
- 4
11.String类
(1)常用类:最重要的是String类和StringBuffer类
特点:一旦被赋值,其值不能被更改
String str = “abc”; 就是直接将"abc"存储方法区的"常量池区".
public String() : 空参的构造方法,里面是空的字符.
public String(byte[] bytes): 将字节数组转换成构造字符串
public String(byte[] bytes, int offset ,int count):将字符数组构造成字符串
public String(char[] chs):将字符数组构造成字符串
public String(char[] value,int offset, intcount):将字符数组的一部分构造成字符串
public String(String original): 构造一个新的字符串