class Person{ // 定义Person类 String name ; // 定义name属性,暂时不封装 int age ; // 定义age属性,暂时不封装 String country = "A城" ; // 定义城市属性,有默认值 public Person(String name,int age){ this.name = name ; this.age = age; } public void info(){ // 得到信息 System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",城市:" + country) ; } }; public class StaticDemo01{ public static void main(String args[]){ Person p1 = new Person("张三",30) ; // 实例化对象 Person p2 = new Person("李四",31) ; // 实例化对象 Person p3 = new Person("王五",32) ; // 实例化对象 p1.info() ; p2.info() ; p3.info() ; } };
class Person{ // 定义Person类 String name ; // 定义name属性,暂时不封装 int age ; // 定义age属性,暂时不封装 static String country = "A城" ; // 定义城市属性,有默认值,static public Person(String name,int age){ this.name = name ; this.age = age; } public void info(){ // 得到信息 System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",城市:" + country) ; } }; public class StaticDemo02{ public static void main(String args[]){ Person p1 = new Person("张三",30) ; // 实例化对象 Person p2 = new Person("李四",31) ; // 实例化对象 Person p3 = new Person("王五",32) ; // 实例化对象 System.out.println("--------------- 修改之前 -------------") ; p1.info() ; p2.info() ; p3.info() ; p1.country = "B城" ; // 修改static属性 System.out.println("--------------- 修改之后 -------------") ; p1.info() ; p2.info() ; p3.info() ; } };
class Person{ // 定义Person类 String name ; // 定义name属性,暂时不封装 int age ; // 定义age属性,暂时不封装 static String country = "A城" ; // 定义城市属性,有默认值,static public Person(String name,int age){ this.name = name ; this.age = age; } public void info(){ // 得到信息 System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",城市:" + country) ; } }; public class StaticDemo03{ public static void main(String args[]){ Person p1 = new Person("张三",30) ; // 实例化对象 Person p2 = new Person("李四",31) ; // 实例化对象 Person p3 = new Person("王五",32) ; // 实例化对象 System.out.println("--------------- 修改之前 -------------") ; p1.info() ; p2.info() ; p3.info() ; Person.country = "B城" ; System.out.println("--------------- 修改之后 -------------") ; p1.info() ; p2.info() ; p3.info() ; } };
class Person{ // 定义Person类 private String name ; // 定义name属性,暂时不封装 private int age ; // 定义age属性,暂时不封装 private static String country = "A城" ; // 定义城市属性,有默认值,static public static void setCountry(String c){ // 此方法可以直接由类名称调用 country = c ; } public static String getCountry(){ return country ; } public Person(String name,int age){ this.name = name ; this.age = age; } public void info(){ // 得到信息 System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",城市:" + country) ; } }; public class StaticDemo04{ public static void main(String args[]){ Person p1 = new Person("张三",30) ; // 实例化对象 Person p2 = new Person("李四",31) ; // 实例化对象 Person p3 = new Person("王五",32) ; // 实例化对象 System.out.println("--------------- 修改之前 -------------") ; p1.info() ; p2.info() ; p3.info() ; Person.setCountry("B城") ; // 调用静态方法修改static属性的内容 System.out.println("--------------- 修改之后 -------------") ; p1.info() ; p2.info() ; p3.info() ; } };
class Person{ // 定义Person类 private static String country = "A城" ; // 定义静态属性 private String name = "Hello" ; public static void sFun(String c){ System.out.println("name = " + name) ; // 错误,不能调用非static属性 fun() ; // 错误,不能调用非static方法 } public void fun(){ System.out.println("World") ; } };
class Demo{ // 定义Person类 private static int count = 0 ; // 所有对象共享此属性 public Demo(){ count++ ; // 只要有对象产生就应该自增 System.out.println("产生了" + count + "个对象!") ; } }; public class StaticDemo06{ public static void main(String args[]){ new Demo() ; // 增加新对象 new Demo() ; // 增加新对象 new Demo() ; // 增加新对象 } };
class Demo{ // 定义Person类 private String name ; // 保存名字 private static int count = 0 ; // 所有对象共享此属性 public Demo(){ count++ ; // 有对象产生就自增 this.name = "DEMO-" + count ; // 自动进行编名操作 } public Demo(String name){ this.name = name; // 可以通过构造赋值 } public String getName(){ // 取得姓名 return this.name ; } }; public class StaticDemo07{ public static void main(String args[]){ System.out.println(new Demo().getName()) ; System.out.println(new Demo("LXH").getName()) ; System.out.println(new Demo().getName()) ; System.out.println(new Demo("MLDN").getName()) ; System.out.println(new Demo().getName()) ; } };
相关推荐
static 关键字是 Java 中的一种访问修饰符,用于修饰变量、方法和块,下面是 static 关键字的详细解释: 1. static 变量 static 变量是属于类的变量,而不是实例变量。static 变量只有一份拷贝,所有实例共享同一...
在Java编程语言中,`static`关键字扮演着至关重要的角色,它被用于声明类成员(如变量、方法)为静态的。静态成员不依赖于任何特定的对象实例,而是与类本身绑定,这意味着无论该类有多少个实例,静态成员只会有一份...
在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,但最常见的是用来修饰类的方法和变量。在这个主题中,我们将深入探讨`static`修饰方法的概念、作用以及它如何影响Java程序的执行。 首先,...
static 是 Java 语言中一个关键字,表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态代码块。在 Java 语言中,没有全局变量的概念,但是可以使用 static 来实现类似于全局变量的效果。 ...
`static`是Java语言中的一个关键字,主要用来修饰类成员(变量、方法或代码块),其核心功能在于定义类级别的共享属性。通过使用`static`,可以实现对类属性和方法的共享访问,而无需创建类的实例。这在实际编程中...
在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及变量和方法的生命周期。本视频教程详细讲解了`static`关键字在Java中的应用及其背后的原理。 首先,我们要理解`static`...
Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...
Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以直接通过类名调用,不需要...
Java之static用法 在Java语言中,static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块
### Java中static用法详解 #### 一、概述 在Java编程语言中,`static`关键字扮演着极其重要的角色。它被广泛应用于多种场景中,包括定义静态变量、静态方法、静态代码块以及静态内部类等。通过使用`static`,...
使用`static`关键字可以使某些属性和方法独立于类的实例存在,从而达到节省资源、提高效率的目的。下面将详细探讨`static`在不同场景下的应用。 #### 二、static变量 ##### 1. 静态变量(类变量) - **定义**:被...
`static`在Java中用于声明类变量或静态方法,这些变量和方法不需要创建对象就能被访问。它们是与类关联的,而不是与类的任何特定实例关联。这意味着无论创建了多少个类的实例,静态变量只有一份拷贝,所有实例共享这...
在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用方法和限制。 一、final 关键字 ...
本文详细介绍了Java中的`static`属性,包括静态成员变量、静态方法以及静态语句块的概念和使用方法。通过具体的代码示例,我们不仅了解了`static`关键字的基本用法,还深入探讨了静态成员变量如何在整个类之间共享,...
下面将详细解析这两个关键字的用法及其在Java中的重要性。 ### 一、`final`关键字 `final`关键字在Java中有多种用途,它可以用来修饰类、方法和变量,其主要目的是确保被修饰的对象具有不可变性或只读性。 #### 1...
4. 用 private 修饰的 static 成员变量和成员方法,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很...
`static`关键字在Java中主要用于创建静态成员,包括静态变量和静态方法。与普通成员不同,静态成员属于类级别,而不是实例级别。这意味着无论创建了多少个类的实例,静态成员只有一个副本存在于内存中。 #### 二、...
在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...
Java 中的静态方法使用 static 关键字来修饰,例如 public static void main(String[] args)。静态方法通常用于提供一些实用工具给应用程序中的其他类使用。在 Java 的类库中大量的静态方法正是出于此目的而定义的。...
Java 1.8对接口有两个方面的增强:接口中可以添加使用default或者static修饰的方法 增加default方法:又叫做接口扩展方法,即在不破坏java现有实现架构的情况下能往接口里增加新方法, default关键字可以给接口添加...