`

第十四章-面向对象(static关键字)

 
阅读更多

-数据共享

static关键字:

 用于修饰成员(成员变量和成员函数)

 

被修饰后的成员具备以下特点:

  随着类的加载而加载

  优先于对象存在

  被所有对象所共享

  可以直接被类名调用

   

使用注意:

  静态方法只能访问静态成员

  静态方法中不可以写this,super关键字

  主函数是静态的

  对象中存储的是特有数据

 

举例:

  就像办公室有一台饮水机(共享性)  一次性杯子(特性)

public class Person {

	private String name;
	static  String country="CN";

	 public static void main(String[] args) {
		 System.out.println(Person.country);
	 }
}

 -成员变量和静态变量的区别

 

public class Person {

	/*成员变量和静态变量的区别
	 * 1.两个变量的生命周期不同.
	 *   成员变量随着对象的创建而存在,随着对象的被回收而释放
	 *   静态变量随着类的加载而存在,随着类的消失而消失
	 * 2.调用方式不同.
	 *    成员变量只能被对象调用
	 *    静态变量可以被对象调用,还可以被类名调用
	 * 3.别名不同
	 *    成员变量也成为实例变量
	 *    静态变量成为类变量
	 * 4.数据存储位置不同
	 *    成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据
	 *    静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据
	 * 
	 */
	private String name;//成员变量,实例变量
	static  String country="CN";//静态变量,类变量 

	 public static void main(String[] args) {
		 System.out.println(Person.country);
	 }
}

 

-注意事项

1.静态方法只能访问静态成员(非静态可以访问静态,又可以访问非静态)

2.静态方法中不可以使用this或super关键字

 

分享到:
评论

相关推荐

    04_JAVA练习题第四章-面向对象概念.docx

    面向对象是Java编程的核心概念,本章练习题主要涵盖了面向对象的基本知识点,包括类的访问修饰符、包的使用、构造方法、内部类、方法、常量定义以及对象与类的关系。 1. 访问修饰符:在Java中,访问修饰符决定了类...

    04_JAVA练习题第四章-面向对象概念.pdf

    面向对象是Java编程的核心概念,本章练习题主要围绕这一主题展开,涵盖了类的访问控制、包的使用、构造方法、内部类、方法以及常量的定义等多个知识点。 1. 访问控制修饰符:Java提供了`public`, `private`, `...

    小码哥-任小龙Java笔记-面向对象的全部笔记

    ### 小码哥-任小龙Java笔记-面向对象的核心知识点 #### 一、面向对象基础概念 **1. 成员变量** - **定义位置**:成员变量定义在类中但不在任何方法内,分为类成员变量(使用`static`修饰)和实例成员变量(不使用...

    14.java学习第十四章——super()关键字+实例变量(含引用数据类型做实例变量)和局部变量的个人总结+基本数据类型和引用数据类型的存放位置.pdf

    ### Java学习第十四章知识点详解 #### 一、super关键字 `super` 是Java语言中的一个关键字,用于访问和调用父类中的成员。在面向对象编程中,特别是在继承关系中,`super` 关键字非常有用。 ##### 1. `super` 的...

    第三章 面向对象程序设计1

    面向对象程序设计是软件开发中的核心概念,尤其是在Java语言中。本章主要涵盖了以下几个关键知识点: 1. **类间的继承关系**:Java语言中的类继承是单重的,即一个类只能直接继承一个父类。这与某些其他编程语言如...

    PTA_2022java测试1-基础程序设计&&测试2-面向对象_个人错题汇总

    第十题中没有给出完整的描述,但从题目中可以看出 `Teacher` 和 `Student` 是类,可能涉及到继承关系。在 Java 中,子类可以通过 super 关键字调用父类的构造器。 以上就是基于提供的信息整理出的 Java 编程相关...

    JAVA面向对象详细资料

    Java面向对象 1 1 学习方法与要求 1 2 面向对象语言与面向过程语言的区别 7 3 面向对象?什么对象? 8 4 什么是类? 9 5 如何创建一个类Class? 10 6 如何使用类创建对象 10 7 引用与实例 11 8 实例属性与实例方法 ...

    Java面向对象基础试题[定义].pdf

    本资源摘要信息涵盖了Java面向对象编程的基础知识点,包括构造器、static关键字的使用、类的成员及方法中的变量、Java中的垃圾回收机制等。通过对试题的解析,我们可以更好地理解Java面向对象编程的基础概念和原理。...

    java面向对象程序设计PPT教案

    4. static关键字:静态成员属于类,而非类的实例,可以通过类名直接访问。 5. abstract与接口:抽象类用于定义模板,接口提供完全的多态,两者都是实现多继承的方式。 三、类与对象的创建 1. 类定义:使用class...

    java选择题-变量重名用哪个关键字.doc

    Java是一种高级编程语言,它由Sun Microsystems(现已被Oracle公司收购)开发,是面向对象的、类型安全的、跨平台的编程语言。标题中的“变量重名”问题通常涉及到Java中的作用域和变量命名规则。 1. 在Java中,...

    《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

    《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案 《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案是 Java 语言程序设计的考试试题,涵盖了 Java 语言的基本概念、面向对象程序设计、异常...

    Java面向对象基础试题[文].pdf

    本题主要涉及了Java面向对象的一些基础知识,包括构造器、static关键字的使用、类的成员变量与方法、Java内存管理中的垃圾回收机制等。下面将逐一解析这些知识点: 1. **构造器**: - 类`Test`的默认构造方法是无...

    《面向对象程序设计Java》试题

    ### 面向对象程序设计Java试题解析 #### 1. 数组维度判断 - **题目**: `int[]a[][];` 这个数组声明表示的是什么类型的数组? - A. 1维数组 - B. 2维数组 - C. 3维数组 - D. 4维数组 - **答案**: C. 3维数组 - *...

    java基础教程_第2部分面向对象程序设计

    ### Java基础教程_第2部分面向对象程序设计 #### 一、面向对象程序设计的基本概念 面向对象程序设计(Object-Oriented Programming, OOP)是一种编程范式,它通过模拟现实世界中的对象来构建软件系统。OOP的核心...

    java面向对象程序设计习题大全

    #### 第六章:面向对象程序设计 **知识点概述**: 1. **抽象类**:包含抽象方法的类,不能被实例化。 2. **接口**:一组抽象方法的集合,用于定义类之间的契约关系。 3. **继承与实现**:子类继承父类的属性和方法...

    面向对象技术Java-期末复习试卷(三).doc

    面向对象技术Java是Java编程语言的核心特性之一,它基于面向对象编程思想,使得代码更加结构化、可维护性更强。在Java中,类是面向对象的基础,它封装了数据和操作这些数据的方法。当我们谈到Java的期末复习时,通常...

    Java开发详解.zip

    020510_【第5章:面向对象基础】_static关键字笔记.pdf 020511_【第5章:面向对象基础】_理解main方法笔记.pdf 020512_【第5章:面向对象基础】_代码块笔记.pdf 020513_【第5章:面向对象基础】_构造方法私有化笔记....

    《面向对象程序设计》综合复习资料

    ### 面向对象程序设计综合复习知识点 #### 一、判断题解析 1. **类及其属性、方法不能同时有一个以上的修饰符来修饰。** - **解析:** 错误。Java中,类及其属性、方法确实可以拥有多个修饰符。例如,一个方法...

    java实战经典学习笔记

    - Java具有自动内存管理、面向对象、安全性高等特点。 - **Java开发环境搭建** - **安装Java JDK** - 下载最新版本的Java Development Kit (JDK)。 - 安装JDK并配置环境变量。 - **集成开发环境(IDE)的选择** ...

Global site tag (gtag.js) - Google Analytics