修饰符(static、final、abstract)第一篇

原创 2016年08月28日 20:51:01

三个修饰符:

一、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静态方法(静态方法同样可以用类直接调用)
}
}












版权声明:本文为博主原创文章,未经博主允许不得转载。

Java基础(八) Java修饰符及接口详解之(一)static/final/abstract关键字及接口的使用

Java基础(八) Java修饰符及接口详解之(一)static/final/abstract关键字及接口的使用 static 修饰符 final 修饰符 abstract 修饰符 接口 访问控制 ...

static final abstract 三个修饰符的个人总结(望各位大牛指正)

一、static :可以修饰类的属性和方法  1. 修饰属性: 实例属性:属性的值跟随着对象走,每一个对象的这个属性值是不一样的 静态类属性:用来描述整个类的特征的 static ...

修饰符static、final、abstract与接口

面向对象高阶特征 访问权限修饰符 private:私有的 只有本类当中可以访问 (default):默认的 只有本包(目录)当中可以访问 protected:受...
  • tomcmd
  • tomcmd
  • 2017年02月06日 14:40
  • 199

Java修饰符:public、protected、private、abstract、static和final区别

Java语言定义了public、protected、private、abstract、static和final这6常用修饰 词外还定义了5个不太常用的修饰词,下面是对这11个Java修饰词的介绍...

Java修饰符 abstract,static,final 的区别详解

static 表示静态,它可以修饰属性,方法和代码块。1.static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这个属性成为本类的类变量,为本类对象所共有。这个属性就是全类公...

Java中的修饰符说明(public,private,protected,default,final,abstract,static)

public(公共访问权限):这是一个宽松的访问控制级别,如果一个成员(包括成员变量、方法和构造器等)或者一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类(注:在该类外部,...

static、final、abstract修饰符

static关键字 static关键字用来修饰变量、方法和内部类,称这些变量、方法和内部类为静态变量、静态方法和静态内部类 static关键字声明一个属性和方法是和类相关的,而不是和类的某个特定的实例...

java学习笔记(三)java中的修饰符abstract、static与final

java学习笔记(三)java中的修饰符abstract、static与final

java中的三大修饰符static、final、abstract

转载,原文来自http://blog.sina.com.cn/s/blog_5f79a56a0100c6wa.html 一、static 关键字          可以修饰:        ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:修饰符(static、final、abstract)第一篇
举报原因:
原因补充:

(最多只允许输入30个字)