美文网首页java学习
NO.12 重写、访问控制、static和final

NO.12 重写、访问控制、static和final

作者: smallnumber | 来源:发表于2017-07-13 22:23 被阅读0次

方法的重写:

1)发生在父子类中,方法签名(名称、参数列表)相同,方法体不同

2)重写方法调用看对象的类型,也就是new出来的类型

重写与重载的区别:

重写(Override)是发生在父子类中,方法名称相同,参数列表相同,方法体不同;遵循"运行期"绑定,根据对象的类型来调用方法。

重载(Overload)是发生在一个类中,方法名称相同,参数列表不同,方法体不同;遵循"编译期"绑定,根据参数(引用)的类型来绑定方法。


package:作用是避免类的命名冲突,其有层次结构,类的全称为----包名.类名。

同包的类不能同名,但是不同包的类是可以同名的,另外建议包名所有字母都小写。

import:作用是导入不同包的类,使一个类能访问其他包的类。(当然,也可以使用类的全称来访问)。


访问控制修饰符:

public:公共的,任何类

private:私有的,本类

protected:受保护的,本类、子类、同包类

默认(不写):本类、同包类

类中的访问修饰采用以上四种都可以。


static:静态的

1)静态变量(static修饰):属于类,存储在方法区中,只有一份;常通过类名点来访问;用于所有对象所共享的数据(图片、音频、视频等)。

2)静态方法(static修饰):属于类,存储在方法区中,只有一份;常通过类名点来访问;静态方法中没有隐式的this传递,静态方法不能直接访问实例成员;用于方法的操作仅与参数相关而与对象无关。

3)静态块(static修饰):属于类的,在类被加载期间自动执行的,因为类只被加载一次,所以静态块也只执行一次;用与加载/初始化静态资源(图片、音频、视频等)。


final:最终的、不可改变的

1)修饰变量:变量不能被改变

2)修饰方法:方法不能被重写

3)修饰类:类不能被继承


static final:static final 修饰的成员变量称为常量,必须声明同时初始化,并且不可被改变。常量建议所有字母大写,多个单词用_分隔。编译器在编译时将常量直接替换为具体的值,效率高。

现在对之前俄罗斯方块每个图形类,有一个新的要求,在调用print方法打印图形四个格子的坐标时,输出“I am a X”。例如:打印T类中cells四个坐标的时候,要求输出“I am a T”。(之前print定义在父类Tetromino中)

我们可以通过在子类重写print方法来实现:

主方法测试代码:

运行结果:

通过重写方法成功满足要求,当然在父类的print方法设置参数,调用传参也可实现。

相关文章

  • NO.12 重写、访问控制、static和final

    方法的重写: 1)发生在父子类中,方法签名(名称、参数列表)相同,方法体不同 2)重写方法调用看对象的类型,也就是...

  • private/final/static 则子类就不能重写该方法

    如果父类方法访问修饰符为 private/final/static 则子类就不能重写该方法,但是被 static ...

  • Android面试复习-Java基础

    关键字final和static final final变量即为常量,只能赋值一次 final方法不能被子类重写 f...

  • 面向对象:访问控制,final,static

    访问控制: 访问控制是给出一套方法,将系统中的所有功能标识出来,组织起来,托管起来,将所有的数据组织起来标识出来托...

  • static、final、static和final

    static 静态的修饰属性,静态属性和方法是属于该类的所有对象的,可以用类名.静态属性/方法名来访问。用stat...

  • Java基础篇一一访问控制、static、final

    访问控制符 是一组限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符。 类的访问控制符只能是空或者 p...

  • Java学习——day 04

    主要内容 继承 重写 super关键字 组合 final关键字 访问控制符 多态 笔记详情 1. 继承 在Java...

  • 知识体系

    体系 1. Java 语言技术栈复习纲要 Java基础(面向对象、四个特性、重载重写、static和final等等...

  • 13-面向对象

    内容: final static 匿名对象 内部类 包的声明与访问 四种访问修饰符 代码块 1. final关键字...

  • Lambda表达式---作用域

    Lambda表达式---作用域 可访问 static 修饰的成员变量,如果是 final static 修饰,不可...

网友评论

    本文标题:NO.12 重写、访问控制、static和final

    本文链接:https://www.haomeiwen.com/subject/crughxtx.html