面向对象day04(方法的重写;重载和重写的区别;package和import;访问权限修饰符;static:静态变量、静态方法、静态块;内存管理;重写的的规则:两同两小一大;实例变量和静态变量的区别

编程入门 行业动态 更新时间:2024-10-24 08:30:45

面向对象day04(方法的重写;重载和重写的区别;package和import;访问权限修饰符;static:<a href=https://www.elefans.com/category/jswz/34/1771395.html style=静态变量、静态方法、静态块;内存管理;重写的的规则:两同两小一大;实例变量和静态变量的区别"/>

面向对象day04(方法的重写;重载和重写的区别;package和import;访问权限修饰符;static:静态变量、静态方法、静态块;内存管理;重写的的规则:两同两小一大;实例变量和静态变量的区别

一、方法的重写(override/overriding):重新写、覆盖
1)重写:发生在父子类中,方法名相同,参数列表相同(方法签名完全相同)
2)重写方法被调用时,看对象的类型(若对象的类型是超类,则执行超类中的方法,若对象的类型是子类,则执行子类中的方法)。new 出来的是对象,即new谁就看谁

我继承了一个中餐馆
class Aoo{void do(){做中餐}
}
A:我还是想做中餐------------不需要重写class Boo extends Aoo{}
B:我想改做西餐--------------需要重写class Boo extends Aoo{void do(){做西餐}}
C:我想在中餐基础之上加西餐-----需要重写(先super中餐,再加入西餐)class Boo extends Aoo{void do(){super.do();做西餐}}

子类觉得超类的行为不够好的时候,可以重写。重写对应的是父类中的方法

重写只要被调用,铁定看对象的类型,这是一种多态的表现
super.方法名()调用超类的方法,一般:在超类的方法基础之上进行重写的时候。(是觉得超类的方法不足,额外增加别的功能)

二、重写与重载的区别

  • 重写:发生在父子类中,方法名相同,参数列表相同。当派生类觉得超类的的方法不好
    (一般用在派生类修改超类的方法)
  • 重载:发生在同一个类中,方法名相同,参数列表不同.
    (是完全不同的方法,只是方法名相同而已)

三、package 和 import

package:声明包

  1. 作用:避免类的命名冲突(如果以类名为唯一标识的话,特别容易出现命名冲突)
  2. java规定:同包的类是不能同名,不同包的类是可以同名的
  3. 类的全称:包名.类名 包名常常有层次结构 例:a.Aoo
  4. 建议包名所有字母全部用小写,package声明包必须放在第一行
  5. 不同包进行访问的时候,可以写类名的全称也可以导入类import
  6. java可以同包继承也可以不同包继承

import:导入类
说明:导入包的位置位于包package的下一行

同包中的类可以直接进行访问,不同包中的类不能直接进行访问(跨包不能直接进行访问)
若想访问,比较繁琐的一个方法:写类的全称
1)建议:先 import导入类(类的全称),再访问类。
用哪个类就导入哪个类,不建议全部导入某个包的所有类import.java.,会影响性能:import java.util.

import java.util.Scanner
//java.util是包名
//Scanner是个类,这个类是在java.util这个包下的
//
java.util.Scanner scan = new java.util.Scanner(System.in);	
  • 调用的是有参的构造方法,System.

更多推荐

面向对象day04(方法的重写;重载和重写的区别;package和import;访问权限修饰符;static:静态变量、静态方法、静态块;内存管理;重写的的规则

本文发布于:2024-03-09 01:10:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723176.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:静态   重写   变量   区别   方法

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!