Java 面向对象—杂项(方法不能重写,修饰符,变量)
一、哪些方法不能被重写?
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 面向对象—杂项(方法不能重写,修饰符,变量)的更多相关文章
- Java 面向对象(八) 权限修饰符 和 final、native 关键字
一.权限修饰符 1.概述 在 Java 中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限: public:公共的: protected:受保护的: default: ...
- java面向对象之关键字,权限修饰符
1.关键字:this,static,package,importthis:1.表示对当前对象的引用!2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特 ...
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...
- java接口中成员变量和方法的默认修饰符(转)
Java的interface中,成员变量的默认修饰符为:public static final 所以我们在interface中定义成员变量的时候,可以 1:public static final St ...
- java中方法的控制修饰符也分为:可访问控制符和非访问控制符两类。
3 .方法的控制修饰符也分为:可访问控制符和非访问控制符两类. 可访问控制符有 4 种:公共访问控制符: public :私有访问控制符: private :保护访问控制符: protected :私 ...
- Java语言中有4种访问修饰符
转载:http://wuhaidong.iteye.com/blog/851754 Java语言中有4种访问修饰符 在Java语言中有4中访问修饰符:package(默认).private.publi ...
- Java语言中的访问权限修饰符
一个Java应用有很多类,但是有些类,并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语 ...
- Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇
一.面向对象之多态 1.多态:简而言子就是多种形态或多种类型 python中不支持多态也用不到多态,多态的概念是应用与java/C#中指定传参的数据类型, java多态传参:必须是传参数的数据类型或传 ...
- Java面向对象10——方法重写
方法重写 static : package oop.demon01.demon05; public class Application { public static void ...
随机推荐
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest
2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A B C D E F G H I J K O O O O O O A - Bit ...
- Kinect v2控制鼠标原理分析和源码
https://blog.csdn.net/baolinq/article/details/54381284 此程序为利用Kinect v2实现用手指隔空控制鼠标,是我另一个项目的一部分,因为在另外那 ...
- ORM属性/字段
一. ORM字段 (models.py文件中创建类,继承models.Model) class Book(models.Model): # 书籍列表 bid=models.AutoField(p ...
- ROS+gre over ipv6,在ipv6的基础上建立GRE隧道
感谢群众大神 @镜花水月全程技术支持.感谢! 环境: 1.阿里云华北5,申请ipv6测试,申请ECS带ipv6公网ip 2.为了便于测试便捷,在vultr创建2.5美元的vps,带ipv6 对了,测试 ...
- keepass口令管理实践
语言修改 加入插件 插件的学习及应用
- 7种 JVM 垃圾收集器特点、优劣势及使用场景(多图)
7种 JVM 垃圾收集器特点.优劣势及使用场景(多图) mp.weixin.qq.com 点击上方"IT牧场",选择"设为星标"技术干货每日送达! 一.常见垃 ...
- Android.mk基础
1.前言 Android.mk用于向编译系统描述源文件和共享库,它实际上是编译系统解析一次或多次的微小GNU makefile片段.它的语法支持将源文件分组为模块,模块是静态库.共享库或独立的可执行文 ...
- VisualStudio更改项目文件夹名称
新建了一个空的解决方案(SolutionTest.sln),在文件夹Api中新建了一个webapi项目,物理位置为解决方案根目录下的叫Api文件夹里, 现在想把文件夹名由Api改为MyApi,需要做以 ...
- AntDesign vue学习笔记(八)Table服务端分页使用
本文是AntDesign后端分页方法 1.设置pagination <a-table :columns="columns" :dataSource="data&qu ...
- 在C++中调用FFTW
FFTW是一个可以进行可变长度一维或多维DFT的开源C程序库,是目前最快的FFT算法实现. 本文简述了在Windows平台上,如何在C++中调用FFTW,所使用的IDE为Visual Studio 2 ...