三个修饰符:

一、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. HDU 4089 Activation 概率DP 难度:3

    http://acm.hdu.edu.cn/showproblem.php?pid=4089 这道题中一共有两个循环: 1.事件1 如果一直落在Activation failed事件上,那么就会重新继 ...

  2. POJ 2762 tarjan缩点+并查集+度数

    Going from u to v or from v to u? Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15494 ...

  3. HDU 4046 Panda

    线段树单点更新,要注意两段合并多出的答案的计算即可 //======================================================================== ...

  4. python登陆,注册小程序

    def login(username,password): ''' 用于用户登录 :param username: 用户输入用户名 :param password: 用户输入密码 :return: T ...

  5. No module ata_piix found的解决方法

    在一台as4u6的机器上升级内核到2.6.18时,最好make install的时候报了一个WARNING: No module ata_piix found for 2.6.18, 开始没有在意,重 ...

  6. Android SDK生成时,自定义文件名称,而非系统第一分配的app-release.apk

    buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.tx ...

  7. AngularJS结构简介

    AngularJS是MVC架构,M是C里面的属性-值,C是js的class,V是DOM 各个关键特性的结构如下图所示: http://my.oschina.net/tommyfok/blog/2970 ...

  8. 关押罪犯(noip2010)

    解法: (1)搜索(30分) (2)二分(此题属于最大值最小问题) (3)贪心+并查集 下面着重说一下“贪心+并查集” 因为有A.B两座监狱,每个犯人不是在A,就是在B监狱. 至于每个犯人在那个监狱, ...

  9. 操作系统:cpu调度 6-25

    1. 进程选择 1小时和1分钟? 进程优先1分钟,再执行1小时. 时间短的进程先执行,执行顺序也有关. 2. 遇到io操作,执行的进程先让出cpu,切换其他进程. 3.进程先来先服务,进程调度策略: ...

  10. PAT 05-树6 Path in a Heap

    这次的作业完全是依葫芦画瓢,参照云课堂<数据结构>(http://mooc.study.163.com/learn/ZJU-1000033001#/learn/content)中何钦铭老师 ...