原创,转载请注明来源sogeisetsu的博客园

static,在类里面定义公共的属性,它可以统一修改,并只占一个内存。从而达到方便修改和少占内存的目的

先放上代码,您可以先越过代码,看后面的讲解内容

class Boook {//随意定义一个类
private int value;
private String name;
static String pub = "科大出版社";//static,在类里面定义公共的属性,它可以统一修改,并只占一个内存。从而达到方便修改和少占内存的目的
public Boook(int value, String name) {
this.name = name;
this.value = value;
}
public String getInfo(){
return "|-"+"价格:"+this.value+"\t书名:"+this.name+"\t出版社:"+this.pub;
}
} public class StaticStudy {
public static void main(String[] args) {
System.out.println("static学习");
//调用Boook
Boook a1 = new Boook(12, "数学");
Boook a2 = new Boook(19, "国语");
Boook a3 = new Boook(14, "英文");
System.out.println(a1.getInfo());
System.out.println(a2.getInfo());
System.out.println(a3.getInfo());
/*
* |-价格:12 书名:数学 出版社:科大出版社
|-价格:19 书名:国语 出版社:科大出版社
|-价格:14 书名:英文 出版社:科大出版社*/
//改变一个的公共属性,全都改变。
a1.pub="青岛出版社";
System.out.println(a1.getInfo());
System.out.println(a2.getInfo());
System.out.println(a3.getInfo());
/*
* |-价格:12 书名:数学 出版社:青岛出版社
|-价格:19 书名:国语 出版社:青岛出版社
|-价格:14 书名:英文 出版社:青岛出版社
* */
//建议用Boook.pub来修改
Boook.pub="济南出版社";
System.out.println(a1.getInfo());
System.out.println(a2.getInfo());
System.out.println(a3.getInfo());
/*
* |-价格:12 书名:数学 出版社:济南出版社
|-价格:19 书名:国语 出版社:济南出版社
|-价格:14 书名:英文 出版社:济南出版社
* */
}
}

先随意定义一个类,名称为Boook,功能为写书的价格,书名和出版社。

class Boook {//随意定义一个类
private int value;
private String name;
static String pub = "科大出版社";//static,在类里面定义公共的属性,它可以统一修改,并只占一个内存。从而达到方便修改和少占内存的目的
public Boook(int value, String name) {
this.name = name;
this.value = value;
}
public String getInfo(){
return "|-"+"价格:"+this.value+"\t书名:"+this.name+"\t出版社:"+this.pub;
}
}

书名和价格都是普通的属性,出版社是static属性,因为这些书都是一个出版社的,用static属性只占一个内存,可以节省内存。并且也易于修改。

附上ststic内存图



先调用一个

		Boook a1 = new Boook(12, "数学");
Boook a2 = new Boook(19, "国语");
Boook a3 = new Boook(14, "英文");
System.out.println(a1.getInfo());
System.out.println(a2.getInfo());
System.out.println(a3.getInfo());
/*
* |-价格:12 书名:数学 出版社:科大出版社
|-价格:19 书名:国语 出版社:科大出版社
|-价格:14 书名:英文 出版社:科大出版社*/

返回

		|-价格:12	书名:数学	出版社:科大出版社
|-价格:19 书名:国语 出版社:科大出版社
|-价格:14 书名:英文 出版社:科大出版社

修改出版社a1.pub="青岛出版社";,改变一个的公共属性,全都改变。

返回

		|-价格:12	书名:数学	出版社:青岛出版社
|-价格:19 书名:国语 出版社:青岛出版社
|-价格:14 书名:英文 出版社:青岛出版社

可以看到,修改一个对象的公共属性,那所有对象相应的公共属性都会改变

公共属性建议用类名.公共属性来修改。比如这个Boook类用Boook.pub来修改。Boook.pub="济南出版社";修改成济南出版社,来看一下返回值

		|-价格:12	书名:数学	出版社:济南出版社
|-价格:19 书名:国语 出版社:济南出版社
|-价格:14 书名:英文 出版社:济南出版社

static方法

static方法,可以直接通过类名称来调用

static方法只能调用static调用的属性或方法

class Boook {//随意定义一个类
private int value;
private String name;
static String pub = "科大出版社";//static,在类里面定义公共的属性,它可以统一修改,并只占一个内存。从而达到方便修改和少占内存的目的
public Boook(){ }
public Boook(int value, String name) {
this.name = name;
this.value = value;
}
public String getInfo(){
return "|-"+"价格:"+this.value+"\t书名:"+this.name+"\t出版社:"+this.pub;
}
//static方法,可以直接通过类名称来调用
//static方法只能调用static调用的属性或方法
public static void setPub(String p){
Boook.pub=p;//不要用this
}
}

static方法,可以直接通过类名称来调用

Boook.setPub("光明出版社");//static方法,可以直接通过类名称来调用
System.out.println(a1.getInfo());
System.out.println(a2.getInfo());
System.out.println(a3.getInfo());
/*
* |-价格:12 书名:数学 出版社:光明出版社
|-价格:19 书名:国语 出版社:光明出版社
|-价格:14 书名:英文 出版社:光明出版社
* */

java static学习的更多相关文章

  1. Java的学习之路

    记事本 EditPlus eclipse Java的学习软件,已经系统性学习Java有一段时间了,接下来我想讲一下我在Java学习用到的软件. 1.第一个软件:记事本 记事本是Java学习中最基础的编 ...

  2. Java多线程学习笔记

    进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间.(只负责空间分配) 线程:进程中的一个执行单元,负责进程汇总的程序的运行,一个进程当中至少要有一个线程. 多线程:一个进程中时可以有多个线 ...

  3. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  4. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

  5. Java Web学习系列——Maven Web项目中集成使用Spring

    参考Java Web学习系列——创建基于Maven的Web项目一文,创建一个名为LockMIS的Maven Web项目. 添加依赖Jar包 推荐在http://mvnrepository.com/.h ...

  6. 我是怎么开发一个小型java在线学习网站的

    2016/1/27 11:55:14 我是怎么开发一个小型java在线学习网站的 一直想做一个自己的网站(非博客),但是又不知道做什么内容的好,又一次看到了w3schools,就萌发了开发一个在线ja ...

  7. Java EE学习——Quartz的Cron表达式

    经历过低谷后,还是要好好学习,越失落会越来越落后. 今天写一下Cron表达式的用法,虽然是之前自己写的,也过了挺长一段时间,这次就拿出来作为回顾吧. Cron表达式是Quartz的精髓(个人觉得),比 ...

  8. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  9. Android(java)学习笔记267:Android线程池形态

    1. 线程池简介  多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.     假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...

随机推荐

  1. 命令行编译带外部包依赖的java源文件 [以JDBC MySQL8为例]

    环境: MySQL8 JDK11(SE) 首先下载MySQL8的JDBC驱动 https://dev.mysql.com/downloads/connector/j/选 PlatForm Indepe ...

  2. 推荐一款移动端小视频App声咖视频

    推荐一款移动端小视频App声咖视频 1 介绍 声咖app,这款软件是一款声音交友社交软件,在上面你可以轻松互动,找到你的知心朋友,并且可以自由添加好友,与其他人互动,让交友更加轻松!, 2 特色功能介 ...

  3. axios详解

    一.说明 Axios是一个基于Promise(ES6中用于处理异步的)的HTTP库(HTTP客户端),用于浏览器和node.js中,API. 浏览器中创建XMLHttpRequests 从node.j ...

  4. 使用STS加入controller注解后编写程序无法自动提示

    1.加入@Controller注解后编写程序无法自动提示,去掉了@Controller注解后就可以了! ​ ​ 2.解决方案:将@Controller替换为@RestController后,可以完美的 ...

  5. HDU 5047 Sawtooth 找规律+拆分乘

      Sawtooth Think about a plane: ● One straight line can divide a plane into two regions. ● Two lines ...

  6. DOM事件机制解惑(摘)--事件的传播机制

    DOM事件流 为什么是有事件流? 假如在一个button上注册了一个click事件,又在其它父元素div上注册了一个click事件,那么当我们点击button,是先触发父元素上的事件,还是button ...

  7. Python数据分析Pandas的编程经验总结

    Pandas的api 参考手册DataFrame部分:https://pandas.pydata.org/pandas-docs/stable/reference/frame.html 数据处理部分: ...

  8. 为什么改了JS数组中的一个元素的值,其他数组元素值都跟着变了

    原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变. 解决方案: 原理就是先把数组 ...

  9. 2019 安易迅java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.安易迅等公司offer,岗位是Java后端开发,因为发展原因最终选择去了安易迅,入职一年时间了,也成为了面试官 ...

  10. English--音标拼读

    English|音标拼读 音标拼读主要内容是,如何使用音标进行单词的拼读,并且会有相应的语音现象,最关键的还是自己多加练习,多听~ 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识 ...