`
jsbylibo
  • 浏览: 12126 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

static关键字

 
阅读更多

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("我是中国人");
	}
}

 

分享到:
评论

相关推荐

    Java中的static关键字

    Java 中的 static 关键字 Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以...

    18.static关键字.zip

    18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static...

    C++中static关键字总结

    C++中的static关键字是一个非常重要的概念,它在不同的上下文中有不同的含义和用途。在C++中,使用static关键字可以修饰变量和函数,具有不同的作用。下面对这些知识点进行详细解释。 首先,静态变量(static ...

    static关键字详解

    static关键字详解: 内容摘要: 一、static关键字定义属性 二、static属性与非static属性还有一个最大的区别,所有的非static属性必须产生实例化对象之后才可以访问,但是static属性不受实例化对象的控制,也就是 说...

    关于static关键字的总结

    "关于static关键字的总结" static 关键字是 Java 语言中一个非常重要的概念,它可以用来修饰变量、方法、内部类和代码块等。下面我们将详细介绍 static 关键字的由来、作用和用法。 一、static 关键字的由来 在 ...

    Java面向对象程序设计static关键字.pptx

    Java面向对象程序设计static关键字 Java面向对象程序设计中,static关键字是一个非常重要的概念,它有很多特点和作用,本文将对static关键字的特点、作用和使用场景进行详细的解释。 static关键字的特点 首先,...

    static 关键字详解

    ### static关键字详解 在Java编程语言中,`static`关键字是一个非常重要的概念,它用于定义类成员(变量、方法和内部类)的行为属性。当一个类成员被声明为`static`时,它就成为了该类的静态成员,这意味着无论创建...

    C++ static关键字详细应用指南

    在C++编程语言中,static关键字是一个非常重要的概念,它在全局变量、局部变量以及函数的声明中都有着不同的用途和含义。以下是对C++ static关键字的详细应用指南的解读。 首先,让我们来了解什么是静态全局变量。...

    Static关键字详解.docx

    Static关键字在Java编程语言中扮演着至关重要的角色,它允许我们创建类级别的变量和方法,这些变量和方法不依赖于类的实例即可访问。在深入理解Static关键字之前,我们需要了解类和对象的概念。类是创建对象的蓝图,...

    C++中的static关键字.doc

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

    static关键字简介

    在课堂中 已经简要介绍了 static 关键字的使用 我们知道 static 关键字可以用来修饰 类的成员变量 成员方法或者是代码块 下面我们就来说说这个 static 关键字 有时候程序员可能需要定义一个类成员 对它的使用不依赖...

    static关键字的特点

    static关键字的特点

    Java 程序显示类中 Static 关键字的用法.docx

    "Java 程序显示类中 Static 关键字的用法" Java 中的 static 关键字是 Java 语言中一个非常重要的概念,它主要用于内存管理。静态关键字用于共享给定类的相同变量或方法。用户可以将静态关键字应用于变量、方法、块...

    static关键字思维导图.xmind

    static关键字

    Java面向对象(高级)- static关键字的使用

    2. **static关键字的说明**: `static`可以修饰属性、方法、代码块和内部类,但不能修饰构造器。被`static`修饰的成员在类加载时就会被创建,它们的生命周期比任何对象都要长。静态成员可以直接通过类名访问,无需...

    static关键字的所有用法

    实践最重要,所以我的是理论加实例绝对好理解。。

    Java零基础-static关键字.md

    ### Java零基础-static关键字 #### 一、static关键字概述 在Java编程语言中,`static`关键字具有重要的地位。它被广泛应用于多个方面,包括静态成员变量、静态方法、静态代码块以及静态内部类等。正确理解和应用`...

    static关键字.notes

    static关键字.notes

    MLDN魔乐static关键字

    MLDN魔乐static关键字 corejava java新手,菜鸟学习

Global site tag (gtag.js) - Google Analytics