1.类属性和类方法的设计思想
1.1类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。
1.2如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用。
2.static,静态的,可以用来修饰属性、方法、代码块(或初始化块)
package com.atguigu.java; /* * static,静态的,可以用来修饰属性、方法、代码块(或初始化块) * * static修饰属性(类变量) * 1.由类创建的所有的对象,都共用一个属性 * 2.当其中一个对象对此属性进行修改,会导致其它对象对此属性的一个调用。 * vs 实例变量(非static修饰的属性) * 3.类变量随着类的加载而加载的。而且独一份 * 4.静态的变量可以直接通过"类.类变量"形式调用 * 5.类变量的加载是要早于对象。所以有了对象后可以"对象.类变量"使用,但是"类.实例变量"是不行的。 * 6.类变量存在于静态域中。 * * static修饰方法(类方法): * 1.随着类的加载而加载,在内存中也是独一份 * 2.可以直接通过"类.类方法"方式调用 * 3.内部可以调用静态的属性或静态的方法,而不能调用非静态的属性或方法; * 反之,非静态的可以调用静态的 * >静态方法里不可以有this或super关键字的 * 注:静态的结构(static的属性、方法、代码块、内部类)的生命周期早于非静态的结构, * 同时被回收也晚于非静态的。 */ public class TestSportsMan { public static void main(String[] args) { SportsMan s1 = new SportsMan("dada", 11); SportsMan s2 = new SportsMan("erer", 12); s1.name = "sasa"; s1.nation = "China"; System.out.println(s1); System.out.println(s2); System.out.println(SportsMan.nation); SportsMan.show(); s1.show1(); } } class SportsMan { // 实例变量(随着对象的创建而被加载) String name; int age; // 类变量 static String nation; public SportsMan(String name, int age) { super(); this.name = name; this.age = age; } @Override public String toString() { return "SportsMan [age=" + age + ", name=" + name + ", nation=" + nation + "]"; } public void show1() { System.out.println("age:" + this.age); System.out.println("我是中国人"); } public static void show() { // System.out.println("age:"+this.age); System.out.println("nation:" + nation); System.out.println("我是中国人"); } }
相关推荐
Static关键字可以修饰什么? 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. ...
C语言中static关键字的作用 C语言中static关键字的作用是指在C语言中,static关键字对变量和函数的存储期和作用域的影响。 一、C语言中的存储期 在C语言中,变量和函数可以分为两种存储期:自动存储期和静态存储期...
Static关键字在Java编程语言中扮演着至关重要的角色,它允许我们创建类级别的变量和方法,这些变量和方法不依赖于类的实例即可访问。在深入理解Static关键字之前,我们需要了解类和对象的概念。类是创建对象的蓝图,...
java中static关键字用法详解 Java中的static关键字是一个非常重要的概念,它在Java编程中扮演着非常重要的角色。本文将详细介绍Java中static关键字的用法,包括静态变量、静态方法和静态代码块等几个方面。 静态...
PHP中的Static关键字是一个非常实用的功能,它允许我们声明类的成员(属性)或方法为静态的,这样的静态成员或方法能够在不创建类的实例的情况下被访问。静态成员属于类本身,而不是类的某个特定实例。这一点是与非...
### C++ `static` 关键字的原理及用法详解 #### 一、引言 在C++编程语言中,`static`关键字扮演着至关重要的角色。它不仅可以用来控制变量和函数的可见性和生命周期,还能在类的设计中发挥独特的作用。正确地理解...
Java中的`static`关键字是一个非常重要的概念,它在编程中扮演着多种角色。本文将全面解析`static`关键字的用途、常见误区以及在面试和笔试中可能出现的相关问题。 首先,`static`关键字主要用于声明类级别的成员,...
static关键字的特点
static关键字详解: 内容摘要: 一、static关键字定义属性 二、static属性与非static属性还有一个最大的区别,所有的非static属性必须产生实例化对象之后才可以访问,但是static属性不受实例化对象的控制,也就是 说...
`static`关键字是Java语言中的一个核心特性,它在编程中扮演着重要的角色,尤其是在类和对象的生命周期管理中。`static`关键字可以用来修饰属性(成员变量)、方法、内部类以及代码块,使得这些元素成为类级别的资源...
在C++编程语言中,`static`关键字具有双重含义,分别在面向过程编程和面向对象编程中扮演着不同的角色。下面我们将详细探讨这两种情况下的`static`关键字。 1. 面向过程设计中的`static` 1.1 静态全局变量 静态...
当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 代码如下:char a = ‘A’;...
Java静态static关键字原理详解 Java静态static关键字是Java语言中一个非常重要的概念,它可以修饰成员变量和成员方法,使其具有特殊的特性。在本文中,我们将详细介绍Java静态static关键字的原理和应用。 一、静态...
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
Java中的`static`关键字是一个非常重要的概念,它在面向对象编程中扮演着核心角色。`static`关键字可以用于修饰变量、方法和代码块,每种修饰都有其特定的用途和意义。 首先,让我们来理解一下`static`修饰的变量,...
JAVA Static关键字的用法 JAVA Static关键字是JAVA编程语言中一个非常重要的关键字,它可以用来修饰成员变量和方法。下面我们将详细介绍Static关键字的用法和原理。 类变量 当static修饰成员变量时,该变量称为类...
Java 中 static 关键字的作用 Java 中的 static 关键字是一个非常重要的概念,它有多种用途,本文将详细介绍 static 关键字在 Java 中的作用。 成员变量 在 Java 中,static 关键字可以修饰成员变量。静态变量...
Java中的`static`关键字是Java编程中非常关键的一个特性,它用于定义类的静态成员,包括静态变量(static fields)和静态方法(static methods)。理解`static`关键字的作用和用法对于编写高质量的Java代码至关重要...
在Java编程语言中,`static`关键字是一个非常关键的元素,用于定义类的静态成员,包括静态变量、静态方法和静态初始化块。这些静态元素在类的整个生命周期中只存在一个实例,并且与类本身相关联,而不是类的任何特定...