关于java static 关键字

当我们创建类时会指出哪个类的对象的外观与行为。
一般的流程是用new 创建这个类的对象,然后生成数据的存储空间,并使用相应的方法。
但以下两种情况不太适合这个流程:

  • 只想用一个存储区域来保存一个特定的数据—–无论要创建多少个对象,甚至根本不创建对象。
  • 当我们需要一个特殊的方法,它没有与这个类有任何的对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。
    此时就要使用static关键字去定义我们的属性或者方法。

除了静态数据和静态方法,还有静态内部类的使用

在此之前首先说一下内部类
内部类
要注意的有下面几点

  • 普通(非内部)类不可设为private或protected—-只允许public或者“友好的”。
  • 内部类可以声明为private, 类设计人员可完全禁止其他人依赖类型编码,并可将具体的实施细节完全隐藏起来,除此以外,从客户程序员的角度来看,一个接口的范围没有意义,因为他们不能访问不属于公共接口类的任何额外方法。这样一来,java编译器也有机会生成效率更高的代码。
    static 内部类
    内部类的对象默认持有创建它的那个封装类的对象的引用。static内部类意味着:
  • 为创建一个static内部类的对象,我们不需要一个外部类的对象
  • 不能从static内部类的一个对象中方位一个外部类对象
    由于static 成员只能位于一个类的外部级别,所以内部类不可
    拥有static数据或者static内部类。倘若为了创建内部类的对象
    而不需要创建内部类的一个对象,那么可将所有的东西都设
    为static. 同时也必须将内部类设为static.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

plotly django_使用Plotly为Django HTML页面进行漂亮的可视化

plotly djangoHello everyone! Recently I had to do some visualizations for my university project, I’ve done some googling and haven’t found any simple guides on how to put Plotly plots on an HTML page.大家好! 最近,我不得不为我的大学项…

roce和iwarp_VIA、IB、RDMA、RoCE、iWARP、DPDK的发展与纠缠?

VIA(Virtual Interface Architecture): 这个只是一个标准,基本上不要了解太多。楼主的问题可以细分成2个层次考虑。一个是网络环境,二是具体的协议和实现。一、网络环境IB(InfiniBand): 是一种网络环境,做对比的是以太网, IB往往用于高性能集…

remoting

原文地址:http://blog.csdn.net/chengking/archive/2005/10/26/517349.aspx (一).说明 一个远程调用示例. 此示例实现功能: 客房端调用远程方法(远程方法可以弹 出自定义信息),实现发送信息功能. 实现原理概是这样的…

handler 消息处理机制

关于handler消息处理机制,只要一提到,相信作为一个android工程师,脑海就会有这么一个流程 大家都滚瓜烂熟了,但别人问到几个问题,很多人还是栽到这个“烂”上面,比如: 一个线程是如何对应一个L…

es6简单介绍

let和const 原先声明变量的形式 var test 5; //全局变量 function a() {var cc3; //局部变量alert(test); } function b(){alert(test);}test 5;//全局变量 function a() {aa3; //全局变量alert(test); } 在es6之前,作用域只有全局作用域和函数作用域&#xff0…

软件工程方法学要素含义_日期时间数据的要素工程

软件工程方法学要素含义According to Wikipedia, feature engineering refers to the process of using domain knowledge to extract features from raw data via data mining techniques. These features can then be used to improve the performance of machine learning a…

洛谷P1605:迷宫(DFS)

题目背景 迷宫 【问题描述】 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只…

vue图片压缩不失真_图片压缩会失真?快试试这几个无损压缩神器。

前端通常在做网页的时候 会出现图片加载慢的情况 在这里我通常会将图片进行压缩 但是通常情况下 观众会认为 图片压缩会出现失真的现象 在这里我会向大家推荐几款图片压缩的工具 基本上会实现无损压缩1.TinyPng地址:https://tinypng.comEnglish?不要慌&a…

remoteing2

此示例主要演示了net remoting,其中包含一个服务器程序Server.exe和一个客户端程序CAOClient.exe。客户端程序会通过http channel调用服务器端RemoteType.dll的对象和方法。服务器端的代码文件由下图所述:Server.cs源代码 :using System;using System.Runtime.Remot…

android 线程池

为什么用线程池 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1T3>T2,那么是不是说开…

datatable转化泛型

public class ConvertHelper<T>where T:new() { /// <summary> /// 利用反射和泛型 /// </summary> /// <param name"dt"></param> /// <returns></returns> public static List<T> ConvertToList(DataTable dt) { …

【跃迁之路】【651天】程序员高效学习方法论探索系列(实验阶段408-2018.11.24)...

(收集箱&#xff08;每日一记&#xff0c;每周六整理&#xff09;)专栏 实验说明 从2017.10.6起&#xff0c;开启这个系列&#xff0c;目标只有一个&#xff1a;探索新的学习方法&#xff0c;实现跃迁式成长实验期2年&#xff08;2017.10.06 - 2019.10.06&#xff09;我将以自己…

更换mysql_Docker搭建MySQL主从复制

Docker搭建MySQL主从复制 主从服务器上分别安装Docker 1.1 Docker 要求 CentOS 系统的内核版本高于 3.10 [rootlocalhost ~]# uname -r 3.10.0-693.el7.x86_641.2 确保 yum 包更新到最新。 [rootlocalhost ~]# sudo yum update Loaded plugins: fastestmirror, langpacks Loadi…

dll文件的c++制作dll文件的c++制作

dll文件的c制作1、首先用vs2005建立一个c的dll动态链接库文件&#xff0c;这时&#xff0c;// DllTest.cpp : 定义 DLL 应用程序的入口点。//#include "stdafx.h"//#include "DllTest.h"#ifdef _MANAGED#pragma managed(push, off)#endifBOOL APIENTRY Dll…

理解ConstraintLayout 对性能的好处

自从在17年GoogleI/O大会宣布了Constraintlayout,我们持续提升了布局的稳定性和布局编辑的支持。我们还为ConstraintLayout添加了一些新特性支持创建不同类型的布局&#xff0c;添加这些新特性&#xff0c;可以明显的提升性能&#xff0c;在这里&#xff0c;我门将讨论Contrain…

数据湖 data lake_在Data Lake中高效更新TB级数据的模式

数据湖 data lakeGOAL: This post discusses SQL “UPDATE” statement equivalent for a data lake (object) storage using Apache Spark execution engine. To further clarify consider this, when you need to perform conditional updates to a massive table in a relat…

如何理解运维

运维工程师&#xff08;运营&#xff09;&#xff0c;负责维护并确保整个服务的高可用性&#xff0c;同时不断优化系统架构提升部署效率&#xff0c;优化资源利用率提高整体的投资回报率。运维工程师面对的最大挑战是大规模集群的管理问题&#xff0c;如何管理好几十万台服务器…

advanced installer更换程序id_好程序员web前端培训分享kbone高级-事件系统

好程序员web前端培训分享kbone高级-事件系统&#xff1a;1、用法&#xff0c;对于多页面的应用&#xff0c;在 Web 端可以直接通过 a 标签或者 location 对象进行跳转&#xff0c;但是在小程序中则行不通&#xff1b;同时 Web 端的页面 url 实现和小程序页面路由也是完全不一样…

ai对话机器人实现方案_显然地引入了AI —无代码机器学习解决方案

ai对话机器人实现方案A couple of folks from Obviously.ai contacted me a few days back to introduce their service — a completely no-code machine learning automation tool. I was a bit skeptical at first, as I always am with supposedly fully-automated solutio…

网络负载平衡的

网络负载平衡允许你将传入的请求传播到最多达32台的服务器上&#xff0c;即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。 网络负载平衡对外只须提供一个IP地址&#xff08;或域名&#xff09;。 如…