Java 类的特性2
Java 类的特性2
类属性、类方法的设计思想
- 类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。
- 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用
关键字–static
1、使用范围:
- 在Java类中,可用static修饰属性、方法、代码块、内部类
2、被修饰后的成员具备以下特点:
- 随着类的加载而加载
- 优先于对象存在
- 修饰的成员,被所有对象所共享
- 访问权限允许时,可不创建对象,直接被类调用
类变量(class Variable)
类变量(类属性)由该类的所有实例共享
public class Person {private int id;public static int total = 0;public Person() {total++;id = total;}}
类方法(class Method)
- 没有对象的实例时,可以用类名.方法名()的形式访问由static标记的类方法。
- 在static方法内部只能访问类的static属性,不能访问类的非static属性。
- 因为不需要实例就可以访问static方法,因此static方法内部不能有this。(也不能有super? YES!)
- l重载的方法需要同时为static的或者非static的。
Java 类的特性2相关推荐
- Java 类的特性1
Java 类的特性1 继承 1.为什么要有继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 2.此处的多个类称为子类,单独的 ...
- java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法
面向对象的三大特征:继承.封装.多态 继承的实现 继承让我们更加容易实现类的扩展.子类是父类的扩展 使用extends实现继承 package cn.sxt;public class Test {pu ...
- Java 16 新特性:record类
以前我们定义类都是用class关键词,但从Java 16开始,我们将多一个关键词record,它也可以用来定义类.record关键词的引入,主要是为了提供一种更为简洁.紧凑的final类的定义方式. ...
- Java 8新特性:Optional类
Java 8新特性:Optional类 在上一篇介绍Stream流式数据处理的文章中提到了Optional类,这是Java 8新增的一个类,用以解决程序中常见的NullPointerException ...
- 中南林业科技大学Java实验报告六:类的特性
实验6:类的特性 6.1 实验目的 掌握类的私有成员和共有成员的定义: 掌握类的私有成员的访问方法: 理解类的构造方法的作用和执行过程: 掌握类的构造方法的定义和关键词this的使用: 类的静态变量: ...
- java11 是长期支持_这里有你不得不了解的Java 11版本特性说明
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- java类为什么要建两个class_ClassLoader的几个概念、类和对象的解释
首先,转载一篇文章,个人认为是看到过了讲得最清楚的 XD 当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader | exten ...
- Java这个高级特性-泛型,很多人还没用过!
点击关注公众号,Java干货及时送达 泛型是 Java 的高级特性之一,如果想写出优雅而高扩展性的代码,或是想读得懂一些优秀的源码,泛型是绕不开的槛.本文介绍了什么是泛型.类型擦除的概念及其实现,最后 ...
- Java这个高级特性,很多人还没用过!
点击关注公众号,Java干货及时送达 泛型是 Java 的高级特性之一,如果想写出优雅而高扩展性的代码,或是想读得懂一些优秀的源码,泛型是绕不开的槛.本文介绍了什么是泛型.类型擦除的概念及其实现,最后 ...
最新文章
- linux系统下文件命令详解
- 自定义控件的getChildCount
- 在moss页面出错时,显示详细的错误信息.
- 利用计算机或图形计算器在,图形计算器在函数教学中的应用
- python中调用万年历_python 打印万年历
- 怎样在计算机中创建d盘,我在电脑D盘内新建了一个文件夹,怎么才能给 – 手机爱问...
- c++ 类的sizeof
- Pyqt+QRcode 生成 识别 二维码
- VS2017如何创建c语言项目
- Python项目实战:抓取全网王者荣耀皮肤,收藏最好看的
- ifconfig安装
- python zip(*zipped)的疑问
- 第15周项目二—洗牌(1)
- 块存储、文件存储、对象存储及内容分发CDN
- MySQL--eq_range_index_dive_limit参数学习
- 打印skb内容的一小段代码
- 如何自学Axure(0基础入门教程)
- 15分钟内制作自己的文本编辑器:Yandex的实践
- 杨百万:调整后最值得关注的10大金股
- 海康威视NVR(网络硬盘录像机)回放功能 不依靠sdk实现
热门文章
- python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程
- mysql深度解析_百万级数据下的mysql深度解析
- java connection 共享_java 使用HttpURLConnection发送数据简单实例
- Python学习(变量与字符串)
- Python 常见的内置模块
- bzoj4919 [Lydsy1706月赛]大根堆
- 【openssl】利用openssl完成X509证书和PFX证书之间的互转
- 为Android应用程序添加社会化分享功能
- Winodws Socket I/O模型的整理
- 简单的动画函数封装(2)