- 浏览: 74483 次
- 性别:
- 来自: 深圳
文章分类
最新评论
/* static修饰符用于修饰成员变量和函数。 被static修饰的就不在堆内存中了。每个对象都能访问静态成员。 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外, 还可以直接被类名调用,类名.静态成员。 static特点: 1.随着类的加载而加载,随着类的消失而消失 2.优先于对象存在,被所有对象所共享 3.可以直接被类名所调用 实例变量和类变量的区别: 1.存储位置 类变量随着类的加载而存在于方法区中。 实例变量随着对象的建立而存在于堆内存中。 2.生命周期 类变量生命周期最长,随着类的消失而消失 实例变量生命周期随着对象的消失而消失 静态使用注意事项: 1.静态方法只能访问静态成员 非静态方法既可以访问静态也可以访问非静态 2.静态方法中不能定义this,super关键字 因为静态优先于对象存在,所以静态方法中不可以出现this 3.主函数是静态的 */ class Person{ String name; static String country = "CN"; public void show{ System.out.println(name + ":" + country); } } class StaticDemo{ public static void main(String[] args){ Person p = new Person(); p.name = "zhangsan"; p.show(); System.out.println(Person.country); } } 特有内容随着对象存储,在堆内存当中。 方法区(共享区或者数据区):存放类中的方法、共享数据
什么时候使用静态?
要从两方面下手:
因为静态修饰的内容有成员变量和函数
什么时候定义静态变量呢?
当对象中的出现共享数据时,该数据被静态所修饰
对象中的特有数据要定义成非静态存在于堆内存中
什么时候定义静态函数?
当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。
静态的应用: 每一个程序中豆邮共性的功能,可以将这些功能进行抽取,独立封装。以便复用。 class ArrayTool{ public int getMax(int[] arr){ int max = 0; for(int x = 1; x<arr.length;x++){ if(arr[x]>arr[max]) max =x; } return arr[max]; } public int getMin(int[] arr){ int min = 0; for(int x = 1; x<arr.length;x++){ if(arr[x]>arr[min]) min =x; } return arr[min]; } public void selectSort(int[] arr){ for(int x=0;x<arr.length-1;x++){ for(int y=x+1;y<arr.length;y++){ if(arr[x]>arr[y]){ } } } } } class ArrayToolDemo{ public static void main(String[] args){ int[] arr = {1,2,3,4,5}; ArrayTool Tool = new ArrayTool(); int max = Tool(arr); } } 虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组操作发现了问题: 1.对象是用于封装数据的,可是ArrayTool并未封装特有数据 2.操作数组的每一个方法都没有用到ArrayTool对象中的特有数据 这是就可考虑,让程序更严谨,不需要对象 可以将ArrayTool中的方法都定义成静态的,直接通过类名调用即可。 所以程序应该在ArrayTool中的方法改成静态方法
将ArrayTool.class发给其他人,其他人只要将该文件所在路径设置到
classpath路径下就可以使用该工具类。
该类中的方法使用者不清楚,所以要创建该工具类的说明书。java的说明书通过文档的注释来完成。
javadoc -d myhelp。
如果当前目录中没有myhelp文件夹,则会自动建该文件夹。从index.html开始看帮助。
一个类中默认会有一个空参数的构造函数。这个默认的构造函数的权限和所属类权限一致。
/** 这是一个可以对数组进行操作的工具类,该类中提供了,获取最值方法 @author 张三 @version v1.1 */ class ArrayTool{ /** 获取一个整形数组中的最大值。 @param arr接收一个int类型的数组 @return会返回该数组的最大值 */ public int getMax(int[] arr){ int max = 0; for(int x = 1; x<arr.length;x++){ if(arr[x]>arr[max]) max =x; } return arr[max]; } public int getMin(int[] arr){ int min = 0; for(int x = 1; x<arr.length;x++){ if(arr[x]>arr[min]) min =x; } return arr[min]; } public void selectSort(int[] arr){ for(int x=0;x<arr.length-1;x++){ for(int y=x+1;y<arr.length;y++){ if(arr[x]>arr[y]){ } } } } }
发表评论
-
151多线程(优先级&yield方法)
2015-10-28 11:16 656/* 养成习惯:数据共享用静态 */ class Dem ... -
150_多线程(Join方法)
2015-10-27 18:31 562/* join: 当A线程执行到了B线程的join方法 ... -
114_面向对象(多异常处理)_黑马程序员_Java基础视频
2015-10-25 23:27 657/* 对多异常的处理 1.生命异常时,建议声明更为具体的异 ... -
113_面向对象(异常声明throws)_黑马程序员_Java基础视频
2015-10-25 23:26 445/* 异常:就是程序在运行时出现不正常情况 异常由来:问题 ... -
112_面向对象(异常try-catch)
2015-10-25 23:25 698/* 异常:就是程序在运行时出现不正常情况 异常由来:问题 ... -
148_多线程(停止线程)
2015-10-25 23:16 547/* stop方法已经过时。 如何停止线程? 只有一 ... -
147_多线程(线程间通信-生产者消费者JDK5.0升级版)
2015-10-21 23:33 715/*JDK1.5及以上提供了多线程升级解决方案。 将同步Sy ... -
146_多线程(线程间通信-生产者消费者)
2015-10-20 23:35 595一个生产者一个消费者 ... -
144_多线程(线程间通信-等待唤醒机制)
2015-10-20 18:35 693class Res{ String name; Str ... -
142_多线程-线程间通信
2015-10-20 16:18 662/* 线程间通讯: 其实就是多线程在操作同一个资源。 但 ... -
141多线程-死锁
2015-10-20 14:45 650/* 死锁: 同步中嵌套同步 */ class T ... -
140_多线程(多线程-单例设计模式-懒汉式)
2015-10-19 11:45 634/* 单例设计模式 饿汉式 class Single ... -
138_多线程(多线程-同步函数的锁是this)
2015-10-15 14:48 809/* 同步函数用的是哪一个锁呢? 函数需要被对象调用。那么 ... -
137_多线程(多线程-同步函数)
2015-10-13 23:25 569/* 需求:银行有一个金库。 有两个储户分别存300元 ... -
135_多线程(多线程的安全问题)
2015-10-13 18:07 581class TWindow implements Runnab ... -
多线程(创建线程-实现Runnable接口)
2015-10-10 00:19 518class TWindow implements Runnab ... -
133_多线程(售票的例子)
2015-10-09 23:48 598/* 需求:简单的买票程序 多个窗口卖票 */ c ... -
132_多线程(获取线程对象以及名称)
2015-10-09 23:30 1179/* 练习:创建两个线程,和主线程交替运行 线程都有自 ... -
多线程-继承Thread类
2015-10-09 00:26 1521/* 进程:是一个正在执行中的程序 每一个进程执行都有一个 ... -
包的应用
2015-10-08 23:28 1631package pack; class PackageD ...
相关推荐
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
spring-core-4.2.5.RELEASE-javadoc.jar (spring4.2.5的文档,即为spring的源码注释),导入到eclipse中,就可以查看spring的源码注释,当调用spring的类或者方法时就会显示注释信息。
NULL 博文链接:https://1601844782.iteye.com/blog/2258388
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
javadoc-generator 使用Javadoc生成word版本文档,多用于详细设计文档。 测试项目代码: 参数说明 ***********************Javadoc生成器************************* * -source 某个java源文件或包名,可空 * * -...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
javaee-api-8.0-javadoc(此为源码,可用javadoc2chm软件制作成chm格式帮助文档) 制作软件以及教程可搜索。
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...
中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 ...