一、哪些方法不能被重写?

  1、final 修饰的不能重写

  2、static 修饰的不能重写

  3、private 修饰的,因为私有的在子类中不可见

  4、如果跨包的话,修饰符缺省的也不能被重写,因为缺省的跨包不可见

二、修饰符

  1、修饰外部类

      权限修饰符:public 和 缺省的

      其他修饰符:final

  2、方法

      权限修饰符:四种

      其他修饰符:final、static、native

  3、成员变量

      权限修饰符:四种

      其他修饰符:final、static

  4、代码块

      修饰符:static 或 没有

三、变量

  1、变量的分类

    (1)成员变量

        ① 类变量:静态的成员变量

        ② 实例变量:非静态的成员变量

    (2)实例变量

  2、变量的区别

    (1)声明的位置

        成员变量:类中方法外

        局部变量

            ① 方法()中形参列表

            ② 方法体{}中局部变量

            ③ 代码块中局部变量

    (2)在内存中存储的位置

        成员变量:

            ① 类变量:方法区

            ② 实例变量:堆

        局部变量:

            栈:

                ① 虚拟机栈:非 native 方法的局部变量

             ② 本地方法栈:native 方法的局部变量

    (3)默认值

        成员变量:如果没有赋值,会有默认值

        局部变量:没有默认值,必须定义,赋值,才能使用

    (4)修饰符

        成员变量: 四种权限修饰符;static,final

        局部变量:final

    (5)生命周期

        成员变量

            ① 类变量:随着类的加载而分配空间,随着类的卸载而消亡,每个对象都是共享的

            ② 实例变量:随着对象的创建而分配空间,随着对象被垃圾回收而回收,每个对象是独立的

        局部变量:方法调用时,在栈中分配空间,方法调用结束就消亡

    (6)作用域

        成员变量:

            ① 类变量:在本类中可以随便使用;在其他类中,用“类名.” 或 “对象.” 使用。

            ② 实例变量:在本类中除了静态成员不能使用,其他都可以使用;在其他类中,用“对象.” 使用。

        局部变量:有作用域,超过作用域就不能使用了

Java 面向对象—杂项(方法不能重写,修饰符,变量)的更多相关文章

  1. Java 面向对象(八) 权限修饰符 和 final、native 关键字

    一.权限修饰符 1.概述 在 Java 中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限: public:公共的: protected:受保护的: default: ...

  2. java面向对象之关键字,权限修饰符

    1.关键字:this,static,package,importthis:1.表示对当前对象的引用!2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特 ...

  3. 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)

    译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...

  4. java接口中成员变量和方法的默认修饰符(转)

    Java的interface中,成员变量的默认修饰符为:public static final 所以我们在interface中定义成员变量的时候,可以 1:public static final St ...

  5. java中方法的控制修饰符也分为:可访问控制符和非访问控制符两类。

    3 .方法的控制修饰符也分为:可访问控制符和非访问控制符两类. 可访问控制符有 4 种:公共访问控制符: public :私有访问控制符: private :保护访问控制符: protected :私 ...

  6. Java语言中有4种访问修饰符

    转载:http://wuhaidong.iteye.com/blog/851754 Java语言中有4种访问修饰符 在Java语言中有4中访问修饰符:package(默认).private.publi ...

  7. Java语言中的访问权限修饰符

    一个Java应用有很多类,但是有些类,并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语 ...

  8. Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇

    一.面向对象之多态 1.多态:简而言子就是多种形态或多种类型 python中不支持多态也用不到多态,多态的概念是应用与java/C#中指定传参的数据类型, java多态传参:必须是传参数的数据类型或传 ...

  9. Java面向对象10——方法重写

    方法重写 static :  ​ ​ package oop.demon01.demon05; ​ public class Application {     public static void ...

随机推荐

  1. 【java异常】Unexpected error occurred in scheduled task. java.lang.StackOverflowError: null

    可能是栈溢出(StackOverFlow) 背景:我用定时器new东西 原因:频率太快了好像!

  2. git bisect

    reference : http://www.ruanyifeng.com/blog/2018/12/git-bisect.html git bisect 命令教程 作者: [12]阮一峰 日期: [ ...

  3. bzoj3589 动态树 求链并 容斥

    bzoj3589 动态树 链接 bzoj 思路 求链并. 发现只有最多5条链子,可以容斥. 链交求法:链顶是两条链顶深度大的那个,链底是两个链底的\(lca\) 如果链底深度小于链顶,就说明两条链没有 ...

  4. 使用 udev 进行动态内核设备管理(转自suse文档)

    第 12 章使用 udev 进行动态内核设备管理¶ 目录 12.1. /dev 目录 12.2. 内核 uevents 和 udev 12.3. 驱动程序.内核模块和设备 12.4. 引导和启动设备设 ...

  5. 关于linux 执行权限的理解

    关于linux 执行权限的理解他这个执行权限不是 执行什么命令的 是这个文件 是否能被执行的权限 比方说<pre>shell_exec('/home/crontabtest12.sh'); ...

  6. 根据jdk1.8源码整理而得,java集合体系(继承、实现关系)图解,超清晰,一看就懂,方便记忆

    一.前言 1. 该关系图是本人根据JDK1.8 源码整理所得,只整理了常用的.常见的集合,并非全部. 2. 整理逻辑: Collection接口下有两个子接口:List 和 Set 接口. Map是独 ...

  7. Spring boot + mybatis + dubbo + zookeeper + mysql + mybatis-generator 一个小demo

    代码的链接地址:https://gitee.com/frostGG/springbooo_dubbo_demo.git 1.项目的目录经构: 介绍: 这一个项目,用的是阿里的dubbo,和zookee ...

  8. CMD使用的几个小技巧

    一.自定义窗口初始化大小 以前在Windows 7的时候感觉打开cmd时窗口初始化的大小还是比较合适的,但到Windows 10之后打开cmd窗口就很大一点都不适应----当然也可能是新电脑分辨率比较 ...

  9. [转帖]面试问Kafka,这一篇全搞定

    面试问Kafka,这一篇全搞定 https://os.51cto.com/art/201911/606207.htm 图片来自 Pexels Kafka 基础 消息系统的作用 大部分小伙伴应该都清楚, ...

  10. [转帖]【Ubuntu】Ubuntu 各版本代号简介

    [Ubuntu]Ubuntu 各版本代号简介 https://www.jianshu.com/p/7b351fde8799 一.版本及代号说明 Ubuntu中,每个版本都有一个更为特色的名字,这个名字 ...