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

重温面向对象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.形式来引用了,是不是很偷懒。其实懂得偷懒的程序员才是优秀的程序员,因为他懂得将重
//复代码进行复用,单独抽取出来进行封装等一系列优化处理。

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

时间: 2024-10-16 13:29:08

重温面向对象OOP——static关键字的相关文章

Java面向对象基础--Static关键字的作用及使用

1.使用static声明属性 如果希望一个属性被所有对象共同拥有,可以将其声明为static类型. 声明为static类型的属性或方法,此属性或方法也被称为类方法,可以由类名直接调用. class Person{ // 定义Person类 String name ; // 定义name属性,暂时不封装 int age ; // 定义age属性,暂时不封装 static String country = "A城" ; // 定义城市属性,有默认值,static public Person

C/C++中的static关键字的总结

C/C++中static的2种设计和5种使用方法 面向过程程序设计中的static和面向对象程序设计中的static 具体应用的话,又涉及静态变量和静态函数两类 前者应用于普通变量(变量又分局部变量和全部变量)和函数,不涉及类:后者主要说明static在类中的作用. 因此结构关系如下,那么我们具体来分析 面向过程程序设计中的static 静态局部变量,成为静态局部变量(拥有记忆功能和全局存储权限) 静态全局变量(限制对应全局变量被被其他文件调用) 静态函数 面向对象程序设计中的static. 静

关于C++中的static关键字的总结_C 语言

1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量.我们先举一个静态全局变量的例子,如下: 复制代码 代码如下: //Example 1#include <iostream.h>void fn();static int n; //定义静态全局变量void main(){  n=20;  cout<<n<<endl;  fn();} void fn(){ n++;  cout<<n<

重温面向对象的思想——构造器和重载

1.this关键字 this表示这个对象的参考名称:例如this.age1=age2;表示将age2的值,赋值给这个对象的私有属性age1. 2. .重温面向对象的思想--构造器和重载 构造器:创建一个对象时,有时候需要对在实例化一个对象时,对这个对象进行初始化,这个时候我们就需要构造方法来进行这种初始化. 重载:当这种初始化需要按照不同的语境,不同的参数的构造器来进行初始化. 总结--方法的重载是多种构造器,用以完成不同的初始化. -注意:构造器==构造方法,两者一样 3.构造方法和自定义方法

C++的static关键字及变量存储位置总结_C 语言

今天看博文时,看到了c++的static关键字的一些总结,还涉及到了一些代码的存储位置,为了有时间的时候能够看一下,还是自己把它给摘抄下来吧. C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 一.面向过程设计中的static 1.静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量.我们先举一个静态全局变量的例子,如下: 复制代码 代码

c/c++ static关键字详解

    静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值.     静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见.用法1:函数内部声明的static变量,可作为对象间的一种通信机制    如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量.这个对象将只在执行线程第一次到达它的定义使初始化.用法2:局部静态对象    对于局部静态对象,构造函数是在控制线程

在Java类中灵活使用Static关键字

用专业术语来说,只有利用了new关键字创建对象后,才会在系统中为其创建存储空间.不过在有些特殊的情况下,程序员可能希望在没有创建对象的时候就能够为某个特定的成员分配存储空间或者可以调用某个方法等等.在Java中能否实现这个需求呢? 一.不建立对象即想使用的两种实际情况. 笔者提到的这个问题是否是无中生有呢?其实不然.在实际应用程序开发中,就经常会遇到这种情况.如现在需要三个对象,分别用来计算圆的面积.圆球的体积.圆柱的体积.在这三个对象的方法中,都需要用到一个叫做圆周率的常量,而且这个圆周率是固

AS 2.0 static 关键字

关键字 static关键字在 ActionScript 2.0 里面也比较重要.如果一个属性是静态的,那么我们可以直接调用-- static(静态)关键字在 ActionScript 2.0 里面也比较重要.如果一个属性是静态的,那么我们可以直接调用,而不用去使用类的Instance 来调用.大部分属性都是要通过类的 Instance 来操作的,那就意味着,它们不是静态的. 例子: // 创建 myClass 的 Instance myInstancemyInstance = new myCla

PHP中static关键字以及与self关键字的区别

  这篇文章主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义.迟绑定(Late Static Bindings).以及与self关键字的区别等内容,需要的朋友可以参考下 概述 正在学习设计模式,之前有一篇文章关于单例模式的文章,重新读了这篇文章,发现对static关键字掌握不是很牢靠,重新温习一下. static关键字 PHP手册里对static关键字的介绍如下: 代码如下: Declaring class properties or metho