我是靠谱客的博主 健壮雪碧,这篇文章主要介绍Java学习笔记—类与对象、继承与多态,现在分享给大家,希望可以做个参考。

主要知识点:

学习时间:2021.12.10

1⃣️继承格式:class 子类 extends 父类 {}
2⃣️Java在执行子类构造方法时、先调用Father类的无参构造对Father类初始化
3⃣️this()在同一类内调用其他构造方法(适合多参数重载之间互相调用),super()可以直接调用其Father类的构造

4⃣️this()和super()比较:
在这里插入图片描述
this()和super()必须放在构造方法的第一行、正是这个原因,两者无法存在于一个构造函数之中。

5⃣️掌握Overload和Override:
且可以通过直接的Annoatation注解,标志、检查覆写函数

复制代码
1
2
3
@Override public void tell(){}//被覆写的tell函数

6⃣️final的三个作用:
1.声明为不能被继承的类,前面加final

复制代码
1
2
final class JavaDemo{}

2.声明为无法被覆写的函数

复制代码
1
2
public final void function(){}

3.定义常量、全局常量

复制代码
1
2
3
private final int ON = 1;//类似开关 private static final int count = 0;//全局静态常量

7⃣️方法多态性有函数的重载等等,对象的多态性为:
对象的自动向上转型强制向下转型,为了防止ClassCastException,可以在转型前使用instanceof关键字进行实例判断
8⃣️所有类均继承Object类,所以引用数据类型可以向Object类进行向上转型,利用Object类进行函数接受参数返回类型的统一

⬆️其中:获取对象信息可以对Object类中的to进行String覆写操作(@Override)

学习代码如下:

复制代码
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
class Person{ private String name; private String sex; private int age; public static String Country; Person(){} Person (String name,String sex) { this.name = name ; this.sex = sex ; } @Override public String toString ()//获取对象信息 { return "该Person的信息为:姓名" +this.name+" 性别:"+this.sex+" 国家:"+Country ; } public String getName() { return name; } public String getSex() { return sex; } public void setCountry(String country) { Country = country; } } class Student extends Person { private long ID; private String School; Student (String name,String sex,long ID,String School){ super(name,sex); this.ID = ID; this.School = School; } public void tell() { // super.tell();//super调用上级同名函数 System.out.println("该Student的信息为:姓名" +this.getName()+" " + "性别:"+this.getSex() +" 学校:"+this.School + " ID:"+this.ID+" 国家:"+Country); } } class Teachers extends Person { public void tell() { System.out.println( "Teacher类的tell函数" ); } } class Channel { /* 用来接受Person类的对象,由于存在自动向上转型的机制,所以可以接受所有子类的实例对象 */ public static void send(Person per) //由于是静态的、类名即可用匿名对象调用 { per.toString(); } } public class JavaDemo { public static void main(String[] args) { Person per_1 = new Person(); per_1.setCountry("中华人民共和国 "); Channel.send(per_1); Person stu_1 = new Student("李四","男",001,"武汉科技大学"); Channel.send(stu_1); System.out.println( per_1 ); Object obj_1 = new Person();//向上????转型 if (obj_1 instanceof Person)//实例化判断 { System.out.println(" 向下转型ing"); Person per = (Person) obj_1; } } }

最后

以上就是健壮雪碧最近收集整理的关于Java学习笔记—类与对象、继承与多态的全部内容,更多相关Java学习笔记—类与对象、继承与多态内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部