三个修饰符:

一、static:

作用域:

1. 属性

1.1 静态属性不必要创建新对象,可直接用类调用

1.2 其值发生改变,则类中的值也会随之而变并延伸到其他对象中

例子:

class Animals {

// /1.static 修饰属性

static String a = "静态属性值";

String b = "非静态属性值";

}

Animals  ani=new Animals ();

ani.a="修改";

ani.b="修改非";

Animals  ani1=new Animals ();

ani1.a;//"修改";

ani1.b;// "非静态属性值";

1.3 static 不能修饰局部变量属性值

2. 方法

2.1 访问是static修饰的方法不必要创建新对象访问,可直接用类调用

2.2 在static修饰的方法中,只能访问:

2.2.1 全局变量中定义的static属性

2.2.2 static方法

2.2.3 其方法中定义的局部变量

2.3 不能使用this关键字

2.4 静态方法的覆写不能实现不了多态

3.修饰代码块

3.1 作用:

提高程序的性能

3.2 使用:

独立于方法

3.2 特点:

只在类加载时执行一次

可参考

练习代码君:

package com.jacob.javase;





/*

 * 修饰符:

 *    static详探

 */

class Animals {

// /1.static 修饰属性

static String a = "静态属性值";

String b = "非静态属性值";





public Animals() {

// Illegal modifier for parameter a1; only final is permitted

// 1.1、static String a1="";原因static不能修饰局部变量

}





// 2.static 修饰方法

public static void eat() {

// Cannot use this in a static context

// 2.1、this.a;//静态方法中不能使用this关键字

// int b=0;//方法中局部变量的值可访问

// 2.2、静态方法中只能调用静态方法(具体可参考main方法)

System.out.println("Animals静态方法");

// 2.3、静态方法中只能访问类全局中的静态属性

// System.out.println(b);

}





// 静态代码块:1.在类加载时实现一次 2.使用起来是独立于方法 3.提高程序的性能

static {

System.out.println("静态代码块");

}





}





class Cat extends Animals {

// 2.4、 静态方法不能实现多态

public static void eat() {

System.out.println("cat静态方法");

}

}





public class ModifierStatic {

public static void main(String[] args) {

Animals ani = new Animals();

ani.a = "修改后的静态属性值";

ani.b = "修改后的非静态属性值";

Animals ani1 = new Animals();

// 1.2、说明对象对类静态属性(类变量)值的改变,其类中值会相应改变(因为静态存储在静态数据区,可直接调用)

System.out.println("ani1中的a:" + ani1.a + " || " + "ani1中的b:" + ani1.b);

// 1.3、静态属性值可不必创建对象,直接用类调用,原因同上

System.out.println("Animals中的a:" + Animals.a);

Animals a2 = new Cat();

a2.eat();// ——Animals静态方法

Animals.eat();// —— Animals静态方法(静态方法同样可以用类直接调用)

}

}

修饰符(static、final、abstract)第一篇的更多相关文章

  1. 三大修饰符static,final,abstract,接口和抽象类的区别

    package com.cityhero.test; public class ThreeModifier { //static静态的 // 概念:static可以修饰方法和属性,被static修的方 ...

  2. 修饰符static和abstract

    修饰符static和abstract static static可以修饰类中的方法,属性等,被修饰后的方法和属性可以通过类名直接调用也可以通过对象调用.普通的变量只能通过对象进行调用. 静态方法直接可 ...

  3. Java从入门到放弃——05.修饰符static,final,权限修饰符

    本文目标 static final: 权限修饰符:public,private,protected,缺省 1.static 静态修饰符,被static修饰的变量或者方法会被加载进静态区内存,不需要创建 ...

  4. day01 包 权限修饰符 static final

  5. java修饰符public final static abstract transient

    JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

  6. 浅析java修饰符之public default protected private static final abstract

    浅析java修饰符之public default protected private static final abstract 一   修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 ...

  7. 访问修饰符与可选修饰符static的使用

    在Java中修饰符较多,在这里简单说一说几个访问修饰符的选择使用,和可选修饰符static的使用. 一.访问修饰符:这是Java里用来控制访问类及类的方法.变量的访问权限,从而达到只暴露接口,来隐藏内 ...

  8. 【语法】修饰符 static extern const

    转载自:http://my.oschina.net/u/2560887/blog/552683 一.C语言中的static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有 ...

  9. 修饰符-static

    一.static静态修饰符 static修饰符能够修饰属性,方法,初始代码块,不能修饰局部变量和类. 静态的变量叫常量,非静态的变量叫实例变量. 1.修饰属性 package gc.test.java ...

  10. ArcGIS AddIN开发异常之--修饰符“static”对该项无效

    修饰符“static”对该项无效, 修饰符“internal”对该项无效. 该异常弹出的位置为Config.Designer.CS文件中相关插件的声明附近 internal static string ...

随机推荐

  1. bzoj 1818: [Cqoi2010]内部白点

    #include<cstdio> #include<iostream> #include<algorithm> using namespace std; struc ...

  2. IT公司100题-2-设计带min函数的stack

    问题描述: 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素. 要求函数min.push 以及pop 的时间复杂度都是O(1).   双倍空间实现: 保存2个栈,分别是元素和当前最小值 ...

  3. 学习linux与wp8.1——启航

    现在不知不觉已经大三了,而本专业的东西没有多大感兴趣的,我看好wp开发和linux开发. 为什么要学习wp开发?其实就是一种兴趣,我手中有部620而已,学着学着就感兴趣了,所以打算继续学下去.同时,我 ...

  4. 【转发】centos 7安装完后出现please make your choice from '1' ......

    PS:出现以上信息,是要求你阅读或者接收协议: Initial setup of CentOS Linux 7 (core)解决步骤如下: 1,输入[1],按Enter键阅读许可协议,2,输入[2], ...

  5. sql游标的使用入门

    游标的理解: 游标其实可以理解成一个定义在特定数据集上的指针,我们可以控制这个指针遍历数据集,或者仅仅是指向特定的行,所以游标是定义在以Select开始的数据集上的 普通的sql语句是面向集合的,游标 ...

  6. iOS多线程之GCD学习笔记

    什么是GCD 1.全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 2.纯C语言,提供了非常多强大的函数 GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案 G ...

  7. JVM-class文件完全解析-访问标志

    访问标志 在前面分析了 class文件的魔数,次版本号,主版本号,常量池入口,常量池,那么在常量池结束后,紧接着的两个字节代表访问标志(access_flages).这个标志用于识别一些类或者接口层次 ...

  8. 使用goldengate交付指定时间前的数据

    在数据同步过程中,客户担心在源端误操作,比如truncate, drop, delete all等,在目标端也会立即同步,而无法挽救损失:因此,客户希望是目标端的数据比源端要慢一个时间点. 解决方案: ...

  9. linux下获取帮助

    -h --help man 代號 代表內容 使用者在shell中可以操作的指令或可执行档 系統核心可呼叫的函数与工具等 一些常用的函数(function)与函数库(library),大部分是C的函数库 ...

  10. Testing the CATCHER_DP

    Description A military contractor for the Department of Defense has just completed a series of preli ...