修饰符(static、final、abstract)第一篇
三个修饰符:
一、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)第一篇的更多相关文章
- 三大修饰符static,final,abstract,接口和抽象类的区别
package com.cityhero.test; public class ThreeModifier { //static静态的 // 概念:static可以修饰方法和属性,被static修的方 ...
- 修饰符static和abstract
修饰符static和abstract static static可以修饰类中的方法,属性等,被修饰后的方法和属性可以通过类名直接调用也可以通过对象调用.普通的变量只能通过对象进行调用. 静态方法直接可 ...
- Java从入门到放弃——05.修饰符static,final,权限修饰符
本文目标 static final: 权限修饰符:public,private,protected,缺省 1.static 静态修饰符,被static修饰的变量或者方法会被加载进静态区内存,不需要创建 ...
- day01 包 权限修饰符 static final
- java修饰符public final static abstract transient
JAVA 修饰符public final static abstract transient 关键字: public final static abstract ... 1.public prot ...
- 浅析java修饰符之public default protected private static final abstract
浅析java修饰符之public default protected private static final abstract 一 修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 ...
- 访问修饰符与可选修饰符static的使用
在Java中修饰符较多,在这里简单说一说几个访问修饰符的选择使用,和可选修饰符static的使用. 一.访问修饰符:这是Java里用来控制访问类及类的方法.变量的访问权限,从而达到只暴露接口,来隐藏内 ...
- 【语法】修饰符 static extern const
转载自:http://my.oschina.net/u/2560887/blog/552683 一.C语言中的static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有 ...
- 修饰符-static
一.static静态修饰符 static修饰符能够修饰属性,方法,初始代码块,不能修饰局部变量和类. 静态的变量叫常量,非静态的变量叫实例变量. 1.修饰属性 package gc.test.java ...
- ArcGIS AddIN开发异常之--修饰符“static”对该项无效
修饰符“static”对该项无效, 修饰符“internal”对该项无效. 该异常弹出的位置为Config.Designer.CS文件中相关插件的声明附近 internal static string ...
随机推荐
- c++ 普通高精乘
//第一次提交全错了,太过相信自己了. //给我教训是注意循环后变量的值,和pascal不一样. //就不贴错误代码了. //codevs3118 高精度练习之除法 #include<cstdi ...
- UVa 11762 - Race to 1
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- TopCoder SRM 583 TurnOnLamps
读错题了有没有呀,原来 lamps 是在边上的呀,当成是在点上的了,无语. 直接一个dfs 就可以 从叶子节点开始,如果有必要转换 lamp 的状态则加一个仅包含 这个 lamp 的段 然后向上扩展, ...
- Jmeter中的几个重要测试指标释义
一.基本概念 1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在Sampl ...
- IPTables系列:如何配置Ubuntu 14.04中的IPTables防火墙
IPTables基本命令 在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解. 首先要说明的是IPTables命令必需以root权限运行,这意味 ...
- C#解析Json(多方法解析Json 一)
解析:{'id':'4028d80858053bed0158053ef7a50001','sl':0.0,'sfyfz':'0','zwjyzsbh':'1000001600000018'} 1.新建 ...
- 创建一个ROS msg
1. msg •msg:msg文件是简单的文本文件,用于描述ROS中消息(消息的各个参数项).用于为不同的编程语言生成有关消息的源代码. •srv:描述服务的文件,由两部分组成:请求和反馈: msg文 ...
- ng-repeat的group
http://blog.csdn.net/violet_day/article/details/17023219 一.obj包含 <!doctype html> <html ng- ...
- bzoj 1036 Tree Count
题目大意:给出一棵树,每个点有一个权值,要求三种操作:1.修改某个点的权值,2.询问x到y路径上各点的权值最大值,3.询问x到y路径上各点的权值之和. #include <cstdio> ...
- POJ 3207 2-sat
题目大意: 在圆上顺时针n个点,给定m个连接,可以通过圆内或者圆外相交,问能不能找到一种方式,使这些连接的边都不相交 这里很容易看出的是,这些边只有在圆外或者圆内两种连接方式,而且必须选择其中一种 所 ...