重温面向对象OOP——static关键字

简介: 重温面向对象OOP——static关键字1. 静态的变量 对一个类的静态变量A来说,实例化出的每一个对象,都有自己的A变量public class Yuan(){ private static final double PI =3.

重温面向对象OOP——static关键字

  • 1. 静态的变量


    对一个类的静态变量A来说,实例化出的每一个对象,都有自己的A变量
public class Yuan(){
    private static final double PI =3.1415926;
    ...
    }

-该类实例化出A、B对象的时候,两个对象各自都拥有自己PI变量

//做为静态的变量,是将类名作为它的名称空间,可以这样
//取到静态变量
    System.out.printfLn(Yuan.PI);
  • Java程序设计领域中,养成的良好习惯,在用类名+”.”来访问它的静态成员,这样我们一看就知道这个变量是static成员,我们经常用到的System.out……对,o就是说System拥有静态static成员out,同理,看其他类名.静态变量。

  • 2.如果有些动作想在位码加载后执行,则可以定义static区块——这里需要说明一下,什么事位码,java的的编译过程是:
    JavaCode.java文件—>JavaCode.class文件—>通过JVM(java虚拟机)将class文件加载进入内存—>二进制Byte位码(1011001…)机器语言。
    我们继续,位码加载后执行,说明Java文件加载进虚拟机变成二进制码后,默认就会执行在内存中的静态代码块(static区块)

public class Ball(){
    static{
    System.out.printfLn("这是一个static区块");
    }
}
  • 3.偷懒的程序员
    在JDK1.5之后,新增了import static的语法,这样我们在使用常用的System.out.printfLn();的时候可以少打几个字。例如:

package cc.openhome;

import java.until.Scanner;
import static java.lang.System.out;
import static java.lang.System.in;

public class Test(){
    public static void main(String[] args){
        Scanner scanner = new Scanner(in);
        out.print("请输入你的姓名");
        out.print("%s 你好!",scanner.nextLine());
    }
}

  • 4.导入架包时的static

    • 看到这个标题,你可能会说,我在导入架包的时候没有用到static啊,我们来看。
import static java.lang.System.*
//如果一个类中有多个static成员想摇偷懒,这个语法是正确的,这样在写System.out...和System.in...等引用
//时,就直接out.后者in.形式来引用了,是不是很偷懒。其实懂得偷懒的程序员才是优秀的程序员,因为他懂得将重
//复代码进行复用,单独抽取出来进行封装等一系列优化处理。

业精于勤荒于嬉,行成于思毁于随

相关文章
|
6月前
|
编译器 C++
C++:类和对象(下)---对类和对象深入一些的理解
C++:类和对象(下)---对类和对象深入一些的理解
|
6月前
|
编译器 数据安全/隐私保护 C++
C++—类和对象
本文介绍了类,对象,静态成员,this指针和友元的内容。
39 0
|
1月前
|
存储 编译器 程序员
C++类和对象(中)
C++类和对象
66 0
|
1月前
|
Java
类和对象三
类和对象三
9 2
|
1月前
|
Java 数据安全/隐私保护
类和对象一
类和对象一
11 1
|
4月前
|
存储 编译器 C语言
【C++】:类和对象(1)
【C++】:类和对象(1)
41 0
|
4月前
|
存储 编译器 C++
类和对象(中)
类和对象(中)
28 0
|
6月前
|
存储 编译器 C语言
|
10月前
|
编译器 程序员 C语言
|
10月前
|
编译器
类和对象(三)
今天小编给大家介绍的就是类最后的相关内容,希望大家好好学习理解,以加深大家对类的理解。
45 0