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 ...
随机推荐
- Python 文件读写操作实例详解
Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...
- Ingress对外暴露端口
http,https端口 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: kubernetes-dashboard names ...
- 【java异常】Unable to install breakpoint in
这个是断点失效,把那个断点双击清理掉就完了. 具体原因,以后再写.
- [Algorithm] 53. Maximum Subarray
Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...
- ESA2GJK1DH1K基础篇: 移植官方MQTT包,让TCP实现MQTT功能(以GPRS模块为例)
前言 这节代码将在这一节的基础上实现 拷贝第一节测试里面的MQTT文件夹到当前工程 当前工程建个MQTT的文件夹,用于存放那个MQTT文件夹里面的内容 添加文件到里面 注意:::: 实际源码拷贝位置 ...
- Java——判断回文
package basic; import java.util.Scanner; public class Palindrome{ public static boolean isPalindrome ...
- selenium--获取HTML源码断言和URL地址
获取HTML源码 from selenium import webdriver import unittest class Test_source(unittest.TestCase): def Te ...
- Chrome崩溃的解决办法
前两天Win10 更新的安全组件,第二天上班来就打开不了Chrome了,打开就是:噢哟,崩溃了! 那是连 setting 页都打不开的啊...好晕,好晕. 我是真的有点崩溃啊,在网上找了好久,什么与百 ...
- Computer-Hunters——项目需求分析
Computer-Hunters--项目需求分析 前言 本次作业属于2019秋福大软件工程实践Z班 本次作业要求 团队名称: Computer-Hunters 本次作业目标:撰写一份针对团队项目的需求 ...
- js追加html元素
jquery追加html代码,添加元素 .append() //新增仲裁申请人 $("."+inputName).append("<div class=\" ...