方法的覆盖(override)、重载(overload)和重写(overwrite)

时间:2023-03-08 21:58:42
方法的覆盖(override)、重载(overload)和重写(overwrite)

*:first-child {
margin-top: 0 !important;
}

.markdown-body>*:last-child {
margin-bottom: 0 !important;
}

.markdown-body .anchor {
position: absolute;
top: 0;
bottom: 0;
left: 0;
display: block;
padding-right: 6px;
padding-left: 30px;
margin-left: -30px;
}

.markdown-body .anchor:focus {
outline: none;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
position: relative;
margin-top: 1em;
margin-bottom: 16px;
line-height: 1.4;
}

.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
display: none;
color: #000;
vertical-align: middle;
}

.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
height: 1em;
padding-left: 8px;
margin-left: -30px;
line-height: 1;
text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
display: inline-block;
}

.markdown-body h1 {
padding-bottom: 0.3em;
font-size: 2.25em;
line-height: 1.2;
border-bottom: 1px solid #eee;
}

.markdown-body h2 {
padding-top: 0.4em;
padding-bottom: 0.4em;
padding-left: 0.4em;
font-size: 1.7em;
line-height: 1.225;
color: #009100;
border-left: 8px solid #008800;
background-color: #F2F4F6;
}

.markdown-body h3 {
padding-top: 0.4em;
padding-bottom: 0.4em;
padding-left: 0.4em;
color: #009100;
border-left: 8px solid #008800;
background-color: #F2F4F6;
font-size: 1.5em;
line-height: 1.43;
color: darkred;
border-left: 8px solid darkred;
background-color: #F2F4F6;
}

.markdown-body h4 {
padding-top: 0.4em;
padding-bottom: 0.4em;
padding-left: 0.4em;
color: orange;
border-left: 8px solid orange;
background-color: #F2F4F6;
font-size: 1.25em;
}

.markdown-body h5 {
padding-top: 0.4em;
padding-bottom: 0.4em;
padding-left: 0.4em;
color: darkblue;
border-left: 8px solid darkblue;
background-color: #F2F4F6;
font-size: 1em;
}

.markdown-body h6 {
padding-top: 0.4em;
padding-bottom: 0.4em;
padding-left: 0.4em;
color: darkgray;
border-left: 8px solid darkgray;
background-color: #F2F4F6;
font-size: 1em;
color: #777;
}

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre {
margin-top: 4px;
margin-bottom: 16px;
}

.markdown-body hr {
height: 4px;
padding: 0;
margin: 16px 0;
background-color: #e7e7e7;
border: 0 none;
}

.markdown-body ul,
.markdown-body ol {
padding-left: 2em;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
margin-top: 0;
margin-bottom: 0;
}

.markdown-body li>p {
margin-top: 16px;
}

.markdown-body dl {
padding: 0;
}

.markdown-body dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: bold;
}

.markdown-body dl dd {
padding: 0 16px;
margin-bottom: 16px;
}

.markdown-body blockquote {
padding-top: 10px;
padding-left: 10px;
padding-right: 10px;
padding-bottom:10px;
color: #000000;
border-left: 8px solid #ddd;
background-color: #F2F4F6;
}

.markdown-body blockquote>:first-child {
margin-top: 0;
}

.markdown-body blockquote>:last-child {
margin-bottom: 0;
}

.markdown-body table {
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all;
}

.markdown-body table th {
font-weight: bold;
}

.markdown-body table th,
.markdown-body table td {
padding: 6px 13px;
border: 1px solid #ddd;
}

.markdown-body table tr {
background-color: #fff;
border-top: 1px solid #ccc;
}

.markdown-body table tr:nth-child(2n) {
background-color: #f8f8f8;
}

.markdown-body img {
max-width: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.markdown-body code {
padding: 0;
padding-top: 0;
padding-bottom: 0;
margin: 0;
font-size: 85%;
border: 1px solid #FF006D;
background-color:#FBF1F4;
border-radius: 3px;
font-style: bold;
margin-right: 8px;
}

.markdown-body code:before,
.markdown-body code:after {
letter-spacing: -0.2em;
content: "\00a0";
}

.markdown-body pre>code {
padding: 0;
margin: 0;
font-size: 100%;
border:none;
word-break: normal;
white-space: pre;
background: transparent;

}

.markdown-body .highlight {
margin-bottom: 16px;
}

.markdown-body .highlight pre,
.markdown-body pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f2f4f6;
border-radius: 3px;

}

.markdown-body .highlight pre {
margin-bottom: 0;
word-break: normal;
}

.markdown-body pre {
word-wrap: normal;
}

.markdown-body pre code {
display: inline;
max-width: initial;
padding: 0;
margin: 0;
overflow: initial;
line-height: inherit;
word-wrap: normal;
background-color: transparent;

}

.markdown-body pre code:before,
.markdown-body pre code:after {
content: normal;
}

.markdown-body .highlight {
background: #fff;
}

.markdown-body .highlight .mf,
.markdown-body .highlight .mh,
.markdown-body .highlight .mi,
.markdown-body .highlight .mo,
.markdown-body .highlight .il,
.markdown-body .highlight .m {
color: #945277;
}

.markdown-body .highlight .s,
.markdown-body .highlight .sb,
.markdown-body .highlight .sc,
.markdown-body .highlight .sd,
.markdown-body .highlight .s2,
.markdown-body .highlight .se,
.markdown-body .highlight .sh,
.markdown-body .highlight .si,
.markdown-body .highlight .sx,
.markdown-body .highlight .s1 {
color: #df5000;
}

.markdown-body .highlight .kc,
.markdown-body .highlight .kd,
.markdown-body .highlight .kn,
.markdown-body .highlight .kp,
.markdown-body .highlight .kr,
.markdown-body .highlight .kt,
.markdown-body .highlight .k,
.markdown-body .highlight .o {
font-weight: bold;
}

.markdown-body .highlight .kt {
color: #458;
}

.markdown-body .highlight .c,
.markdown-body .highlight .cm,
.markdown-body .highlight .c1 {
color: #998;
font-style: italic;
}

.markdown-body .highlight .cp,
.markdown-body .highlight .cs {
color: #999;
font-weight: bold;
}

.markdown-body .highlight .cs {
font-style: italic;
}

.markdown-body .highlight .n {
color: #333;
}

.markdown-body .highlight .na,
.markdown-body .highlight .nv,
.markdown-body .highlight .vc,
.markdown-body .highlight .vg,
.markdown-body .highlight .vi {
color: #008080;
}

.markdown-body .highlight .nb {
color: #0086B3;
}

.markdown-body .highlight .nc {
color: #458;
font-weight: bold;
}

.markdown-body .highlight .no {
color: #094e99;
}

.markdown-body .highlight .ni {
color: #800080;
}

.markdown-body .highlight .ne {
color: #990000;
font-weight: bold;
}

.markdown-body .highlight .nf {
color: #945277;
font-weight: bold;
}

.markdown-body .highlight .nn {
color: #555;
}

.markdown-body .highlight .nt {
color: #000080;
}

.markdown-body .highlight .err {
color: #a61717;
background-color: #e3d2d2;
}

.markdown-body .highlight .gd {
color: #000;
background-color: #fdd;
}

.markdown-body .highlight .gd .x {
color: #000;
background-color: #faa;
}

.markdown-body .highlight .ge {
font-style: italic;
}

.markdown-body .highlight .gr {
color: #aa0000;
}

.markdown-body .highlight .gh {
color: #999;
}

.markdown-body .highlight .gi {
color: #000;
background-color: #dfd;
}

.markdown-body .highlight .gi .x {
color: #000;
background-color: #afa;
}

.markdown-body .highlight .go {
color: #888;
}

.markdown-body .highlight .gp {
color: #555;
}

.markdown-body .highlight .gs {
font-weight: bold;
}

.markdown-body .highlight .gu {
color: #800080;
font-weight: bold;
}

.markdown-body .highlight .gt {
color: #aa0000;
}

.markdown-body .highlight .ow {
font-weight: bold;
}

.markdown-body .highlight .w {
color: #bbb;
}

.markdown-body .highlight .sr {
color: #017936;
}

.markdown-body .highlight .ss {
color: #8b467f;
}

.markdown-body .highlight .bp {
color: #999;
}

.markdown-body .highlight .gc {
color: #999;
background-color: #EAF2F5;
}

.markdown-body .octicon {
font: normal normal 16px octicons-anchor;
line-height: 1;
display: inline-block;
text-decoration: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.markdown-body .octicon-link:before {
content: '\f05c';
}

.markdown-body .task-list-item {
list-style-type: none;
}

.markdown-body .task-list-item+.task-list-item {
margin-top: 3px;
}

.markdown-body .task-list-item input {
float: left;
margin: 0.3em 0 0.25em -1.6em;
vertical-align: middle;
}

/*

Google Code style (c) Aahan Krish

*/

.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: white;
color: black;
}

.hljs-comment,
.hljs-quote {
color: #336633;
font-weight: bold;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-section,
.hljs-title,
.hljs-name{
color: #008;
font-weight: bold;
}

.hljs-variable,
.hljs-template-variable {
color: #660;
}

.hljs-string,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-regexp {
color: #F8113E;
}

.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-meta,
.hljs-number,
.hljs-link {
color: #066;
}

.hljs-title,
.hljs-doctag,
.hljs-type,
.hljs-attr,
.hljs-built_in,
.hljs-builtin-name,
.hljs-params {
color: #606;
}

.hljs-attribute,
.hljs-subst {
color: #000;
}

.hljs-formula {
background-color: #eee;
font-style: italic;
}

.hljs-selector-id,
.hljs-selector-class {
color: #9B703F
}

.hljs-addition {
background-color: #baeeba;
}

.hljs-deletion {
background-color: #ffc8bd;
}

.hljs-doctag,
.hljs-strong {
font-weight: bold;
}

.hljs-emphasis {
font-style: italic;
}
-->

覆盖(override)

继承了父类的同名无參函数:当子类从父类继承一个无參方法,而又定义了一个同样的无参数的方法时,则子类新写的方法覆盖父类的方法,成为覆盖。

Example

class Super{
public void NoParametersMethod(){
System.out.println("Super Method....");
}
} class subClass extends Super {
public void NoParametersMethod(){
System.out.println("subClacc Method....");
}
} class override{
public static void main(String[] args) {
subClass sub = new subClass();
sub.NoParametersMethod();
}
}

Output

subClacc Method....

重载(overload)

继承了父类的同名有參函数:当子类继承了父类的一个同名参数,且方法参数表不同,则称为重载,通过方法重载,子类可以重新实现父类的某些方法,使其具有自己的特征。

Example

class Super{
public void WithParametersMethod(int a){
System.out.println("Super Method:"+a);
}
} class subClass extends Super {
public void WithParametersMethod(int a,int b){
System.out.println("subClacc Method:"+a+","+b);
}
} class overload{
public static void main(String[] args) {
subClass sub = new subClass();
sub.WithParametersMethod(0);
sub.WithParametersMethod(1,2);
}
}

Output

Super Method:0
subClacc Method:1,2

重写(overwrite)

当前类的同名方法:通过方法重写,一个类中可以有多个具有相同名字的方法,由传递给他们的不同个数和类型的参数,甚至不同参数顺序(不推荐)来决定使用哪种方法

Example

class Curr{
public void fun(int i) {
System.out.println("int");
}
public void fun(int i,String s){
System.out.println("int,String");
}
public void fun(String s,int i){
System.out.println("String,int");
}
} class override{
public static void main(String[] args) {
Curr curr = new Curr();
curr.fun(0);
curr.fun(0, "");
curr.fun("", 0);
}
}

Output

int
int,String
String,int