三个修饰符:

一、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. JAVA与指针

    首先,提个问题:JAVA中没有指针,JAVA中有指针,哪个一个对呢? 答:都对,JAVA中没有指针,因为我们不能对指针直接操作,像C++那样用->来访问变量. JAVA有指针,因为JDK中封装了 ...

  2. POJ 1011 Sticks dfs,剪枝 难度:2

    http://poj.org/problem?id=1011 要把所给的集合分成几个集合,每个集合相加之和ans相等,且ans最小,因为这个和ans只在[1,64*50]内,所以可以用dfs一试 首先 ...

  3. Elasticsearch内存分配设置详解

    Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置都太小了.如果你正在使用这个默认堆内存配置,你的集群配置可能会很快发生问题. 这里有两种方式修改Elastic ...

  4. redis OK

    http://redis.readthedocs.org/en/2.4/set.html1, client.end();redis.expire(key,10) ,lsize,llen APPEND ...

  5. POJ 3525 半平面交+二分

    二分所能形成圆的最大距离,然后将每一条边都向内推进这个距离,最后所有边组合在一起判断时候存在内部点 #include <cstdio> #include <cstring> # ...

  6. 房子里的K2 BPM业务流程管理

    房…子这件事上,尴尬实在太多. ಥ_ಥ 职场新人,租房很尴尬: 未婚男女,婚房很尴尬: 有下一代的,学区房很尴尬: 耄耋之年,养老房很尴尬... ▽ 甭管买房.租房.装修.设计,关于房子的尴尬事,三天 ...

  7. Spring学习笔记之初始化和销毁方法的调用次序

    Multiple lifecycle mechanisms configured for the same bean, with different initialization methods, a ...

  8. tic/toc/cputime测试时间

    cputime测试代码运行时间可能不及tic/toc准确是众所周知的事情.本文并非旧话重提,而是期望起到抛砖引玉的效果,从而找到cputime与tic/toc内在的区别.望不吝赐教! 用tic/toc ...

  9. SharePoint表单和工作流 - Nintex篇(三)

    博客地址 http://blog.csdn.net/foxdave 接上篇点击打开链接 跳转到网站设置的Nintex设置,我们来挨个了解一下,这里面一共有15项设置,本篇我们先了解前7个. " ...

  10. 用命令 安装/卸载 windows服务(转)

    第一种方法: 1. 开始 ->运行 ->cmd 2. cd到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(Framework版本号按IIS配置 ...