Day4 Java 4

Java 个人总结 4
对象
三大特性
封装、继承、多态
面向对象
.以类的方式组织代码,以对象的组织(封装)数据
对象内存分析
多态
存在条件
- 有继承关系
- 子类重写父类方法
- 父类引用指向子类对象
注意
多态是方法的多态,属性没有多态性
instanceof
功能:判断前面的对象是否属于后面的类,或者属于其子类。
Object是所有类的父类
代码块
1 | public class CodeBlock { |
抽象
.抽象的抽象:约束
- 抽象类不能new,只能靠子类去实现;
- 抽象类中可以写普通方法;
- 抽象方法必须在抽象类中.
定义/声明
1 | public abstract class UAbstract { |
使用
1 | public class UAbstract2 extends UAbstract{ |
意义:提高开发效率。
接口
- 是一种约束;
- 定义一些方法,让不同的人实现;
- 接口不能被实例化;
- 接口可以实现多个;
- 类实现接口后,必须要重写接口中的方法。
内部类
概念
在一个类的内部再定义一个类。
分类
成员内部类
静态内部类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34//外部类
public class Outer {
private int id=6;
public void out(){
System.out.println("外部类的方法");
}
//内部类
public class Inner{
public void InnerFunction(){
System.out.println("内部类的方法");
}
//获得外部类的私有属性
public void InnerGetOuterId(){
System.out.println(id);
}
}
//静态内部类 用static修饰
//不能访问Outer的属性
public static class StaticInner{
public void InnerFunction(){
System.out.println("内部类的方法");
}
//获得外部类的私有属性
public void InnerGetOuterId(){
// System.out.println(id); //报错
}
}
}局部内部类
1
2
3
4
5
6
7
8
9public class Outer2 {
public void method(){
//局部内部类
//放在方法里
class Inner{
}
}
}匿名内部类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15public class Outer4 {
public static void main(String[] args) {
//匿名内部类
UserService3 userService3 = new UserService3() {
public void hello() {
System.out.println("Hello");
}
};
userService3.hello();
}
}
interface UserService3{
void hello();
}
其他
- 一个java文件中可以有多个class类,但只能有一个public class;
评论