Java面向对象之关键字static 入门实例

一、基础概念

  静态关键字 static 是成员修饰符,直接用于修饰成员。

  (一)特点:

    1.被静态修饰的成果,可以直接被类名所调用。

    2.静态成员优先于对象存在。

    3.静态成员随着类的加载而加载。随着类的消失而消失。静态成员的生命周期很长。

  (二)注意事项:

    1.静态方法只能访问静态成员,不能访问非静态成员。

    2.静态方法中不能出现this或者super关键字。

    3.主函数是静态的。

  (三)什么时候用:

    1.成员变量:如果数据在所有对象中都是一样的。直接用静态修饰。

    2.成员函数:如果函数没有访问过对象中的属性数据,那么该函数就是静态的。

  (四)成员变量和静态变量的区别:

    1.名称:成员变量也叫实例变量。静态变量也叫类变量。

    2.内存存储:成员变量存储到堆内存的对象中。静态变量存储到方法区的静态区中。

    3.生命周期:成员变量随着对象的出现而出现,随着对象的消失而消失。静态变量随着类的加载而加载。随着类的消失而消失。

  (五)静态代码块:

    1.随着类的加载而执行,而且只执行一次。

    2.给类进行初始化。

    3.类不需要创建对象,但是需要初始化。这是将部分代码存储到静态代码块中。

二、实例代码  

class Person
{
    private String name;
    private int age;

    Person(String name,int age)
    {
        this.name = name;
        this.age = age;
    }
    public void show()
    {
        System.out.println("name="+name+",age"+age);
    }
    //既然sleep方法没有访问到对象中的属性,可以用static修饰该方法。(节约内存的使用)
    public static void sleep()
    {
        System.out.println("sleep......");
    }
    //静态代码块
    static
    {
        System.out.println("static......");
    }
}

class StaticDemo
{
    public static void main(String[] args)
    {
        Person p = new Person("xiangming",20);
        Person.sleep();//调用sleep方法,可以通过类名的方式访问。
        Person.sleep();//用类名调用的方法必须通过指定修饰符static来修饰
    }
}

三、代码运行

  

原文地址:https://www.cnblogs.com/zhuxr/p/8850227.html

时间: 2024-10-11 00:44:05

Java面向对象之关键字static 入门实例的相关文章

Java面向对象之抽象类abstract 入门实例

一.基础概念 抽象事物,是若没有具体的信息可以描述这个事物,这个事物可以称为抽象事物. 抽象类,是不断的向上抽取而来.抽取方法声明而不确定具体的方法内容.由不同的子类来完成具体的方法内容. (一)抽象类的特点: 1.抽象方法没有方法体,必须由抽象关键字abstract来修饰. 1.抽象方法一定是存在于抽象类中,必须有抽象关键字abstract来修饰. 2.抽象类不能实例化.不能用new关键字创建对象. 3.子类必须覆盖抽象类中的所有抽象方法后,才可以实例化.否则该子类还是一个抽象类. (二)抽象

java中的关键字static(静态变量)和final定义常量

1 package point; 2 3 class Point { 4 5 int x = 0; 6 int y = 0; 7 static int z = 100; // 定义静态变量z,类变量 8 static final double PI = 3.1415926;// final定义常量,它的值在运行时不能被改变 9 10 Point(int a, int b) { 11 //PI=3.1415926; 12 /* 13 * 当使用静态常量的时候,不能在构造函数中初始化, 因为静态时,

JAVA面向对象-----super关键字

JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量int y=1; 2:构造方法无参和有参的.有输出语句this.y=y+x; 3:创建Son类对象 Son son=new Son(3); System.out.println(son.y); //4 class Father { int x = 1; Father() { System.out.p

java面向对象之关键字,权限修饰符

1.关键字:this,static,package,importthis:1.表示对当前对象的引用!2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下.3.用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法).但是这里必须非常注意:只能引用一个构造方法且必须位于开始!还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明

java中的关键字 -- static

基本介绍 static关键字通常来注明一个class内的某个field或者某个方法是不依赖于对象的建立的.换句话说,无论我们是否创造了该class的一个具体的实例, static的值或者方法都可以被我们调用: ClassName.field; ClassName.method(); 需要注意的是,由于一个值被注明了static,程序在运行时也只会为这个值安排一个特定且唯一的空间.如果多个class的实例中的一个修改了这一值,那么其他的class object都会得到同样的被修改后的值. clas

Java提高篇——关键字static

一. static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概念,在Java中static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块. Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量.数组和对象的引用,堆内存主要存放一些对象.在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法,则会为这些成员变量和成员方法在固

java面向对象_static关键字

1. 修饰成员变量:有static修饰的为静态变量,没有static修饰的称为实例变量. 实例变量:属于对象的,一个对象有一份.在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响.存储在堆中. 静态变量:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化. Demo: 1 public class Spike 2 { 3 public static void main(String[] args) 4 { 5 Counter a = new Co

java面向对象-this关键字

this关键字的作用:. 当方法的局部变量和类的成员变量的命名重复的时候,根据就近原则,会使用局部变量. 如果需要访问本类当中的成员变量,需要使用this. 谁调用的方法,谁就是this public class PeoPle { String name; public void call(String name){ System.out.println(name + "给" + name + "打电话!"); } } //实例化对象 public class Pe

Java 面向对象-- final 关键字

使用final声明的类不能被继承: 使用final声明的方法不能被子类覆盖: 使用final声明的变量不能被修改,即为常量: 1,final修饰类 2,final修饰方法 3,final修饰的变量 final修饰字段的时候 一般和static一起使用,来定义一些不可变的静态常量 方便程序使用: package com.xuyigang1234.chp02.extend; public class Demo01 { public static final String ShanDong_Sheng