/**
* static关键字:修饰属性(实质就是全局变量)、方法(无需本类的对象即可调用此方法)、类。
* 1.static方法只能调用static方法
* 2.static方法只能访问static数据
* 3.static方法不能以任何方式引用this或super
*/
public class Main {
public static void main(String[] args) {
A a = new A(); a.val = 2;
A a1 = new A(); a1.val = 3;
System.out.println(a.val+" "+a1.val);
B b = new B(); b.val = 2;
B b1 = new B(); b1.val = 3;
System.out.println(b.val+" "+b1.val); //b和b1拥有同一份val
A.say();
}
} class A{
int val = 1;
public static void say(){
System.out.println("Hello~~");
}
}
class B{
static int val = 1; //静态数据不属于对象,属于类
}
import java.lang.String;
import java.util.Arrays;
import java.util.Scanner; /**
* 对象数组
*/
public class Main {
public static void main(String[] args) {
MonkeyManager mm = new MonkeyManager();
mm.add(new Monkey("1"));
mm.add(new Monkey("2"));
mm.add(new Monkey("2"));
mm.add(new Monkey("4"));
mm.delete("2");
mm.list(); Monkey temp1 = new Monkey("1");
mm.update(temp1);
mm.list();
}
} class MonkeyManager{
private Monkey[] ms = new Monkey[3];
private int count = 0;
public void add(Monkey m){
if(count<ms.length){
ms[count++] = m;
System.out.println("Successful add monkey: "+m.name);
}
else{
System.out.print("空间已满!进行扩充....");
int newLen = (ms.length*3)/2+1;
ms = Arrays.copyOf(ms, newLen);
System.out.println("扩充后的长度为:"+newLen);
ms[count++] = m;
System.out.println("Successful add monkey: "+m.name);
}
}
public void list(){
for(int i=0;i<count;++i) ms[i].say();
}
public void delete(String name){
boolean flag = true;
while(flag){
flag = false;
for(int i=0;i<count;++i) if(ms[i].name.equals(name)){
for(int j=i;j<count-1;++j) ms[j]=ms[j+1];
ms[count-1] = null;
--count;
System.out.println("Successful delete monkey: "+name);
flag = true;
break;
}
}
}
public Monkey find(String name){
for(int i=0;i<count;++i) if(ms[i].name.equals(name)) return ms[i];
return null;
}
public void update(Monkey m){
Monkey s = find(m.name);
if(s!=null){
s.name = "helloWorld";
}
}
}
class Monkey{
String name;
public Monkey(String name){
this.name = name;
}
public void say(){
System.out.println("I'm "+name);
}
}
public class Main {
public static void main(String[] args) {
/**
* foreach语法
* for(类型 变量名:数组或集合){ //输出操作 }
*/
String[] names = {"1","2","3","4"};
for(String i:names) System.out.println(i); /**
* 方法的可变参数
* 1.只能有一个
* 2.有多个参数时,可变参数放在最后
*/
method1(names);
method2(123,"a1","a2","a3");
method2(123,names);
}
public static void method1(String[] na){
for(String i:na) System.out.println(i);
}
public static void method2(int x,String... na){ //参数为可变参数(只能有一个)
System.out.println("x="+x);
for(String i:na) System.out.println(i);
}
}

JAVA笔记4__static关键字/对象数组/foreach/方法的可变参数的更多相关文章

  1. Java笔记 —— this 关键字

    Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: re ...

  2. javascript 克隆对象/数组的方法 clone()

      1 11 javascript 克隆对象/数组的方法 clone() 1 demo: code: 1 var Obj; 2 let clone = (Obj) => { 3 var buf; ...

  3. AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到

    AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到

  4. java 重写你可以这么理解 因为 方法名和参数类型个数相同 所以这就是重写了 然后 因为是重写 所以 返回值必须相同

    java  重写你可以这么理解    因为   方法名和参数类型个数相同  所以这就是重写了    然后  因为是重写  所以  返回值必须相同

  5. C#方法的重载和方法的可变参数

    方法的重载 1.方法重载的前提:方法名称必须一样 2.构成重载的条件:参数不一样(参数数量不一样,参数类型不一样) 方法的可变参数 1.可变参数的值的数量可以是0到多个. 2.可变参数调用的时候,没有 ...

  6. Java学习笔记18---final关键字修饰变量、方法及类

    英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更 ...

  7. Java笔记——Java8特性之Lambda、方法引用和Streams

    Java8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进行Spring开发,那么可以发现Spring的官网已经全部使用Java8来编写示例代码了,所以,不学就看不懂. 这里涉及三 ...

  8. Java开发笔记(二十五)方法的输入参数

    前面通过main方法介绍了方法的定义形式,对于方法的输入参数来说,还有几个值得注意的地方,接下来分别对输入参数的几种用法进行阐述.一个方法可以有输入参数,也可以没有输入参数,倘若无需输入参数,则方法定 ...

  9. javascript笔记7之对象数组

    /* var box = new Array(); //声明一个数组,空数组 alert(typeof box); //数组属于object类型 var box = new Array('李炎恢', ...

随机推荐

  1. python math详解(1)

    python math详解(1) 一.导入 python要调用math要进行导入 import math 二.返回值 math包里有一些值 比如 math.pi 返回pi的值 约为3.14 math. ...

  2. PHP设计模式之备忘录模式

    备忘录,这个名字其实就已经很形象的解释了它的作用.典型的例子就是我们原来玩硬盘游戏时的存档功能.当你对即将面对的大BOSS有所顾虑时,一般都会先保存一次进度存档.如果挑战失败了,直接读取存档就可以恢复 ...

  3. PHPMailer实现发送邮件的方法介绍

    来自: https://www.php.cn/php-weizijiaocheng-408762.html PHPmailer请在github下载,或者直接百度,也不难,虽然PHPmailer里面一大 ...

  4. 解决百度ueditor插入动态地图空白 支持iframe方法

    说明:新版本ueditor要修改 xss过滤白名单 修改配置文件ueditor.config.js 搜索:  whitList 增加下面一行即可 ,whitList:{ iframe: ['frame ...

  5. Nginx系列(10)- Nginx配置文件详解

    nginx文件结构 ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全 ...

  6. JMeter脚本开发

    什么是jmeter脚本 用户操作系统的动作流程 用户操作系统的请求 类似演戏的剧本 怎么快速开发漂亮的jmeter脚本 准确 快速 漂亮,脚本逻辑清晰,维护性高 脚本开发方案 代理 http代理服务器 ...

  7. tornado中通用模版

    第一: 1.Pycharm新建python项目(不是django项目),在项目下面直接新建server.py,内容如下: 2.安装tornado, pip install tornado import ...

  8. centos7 设置dns

    查看当前网络连接 nmcli connection show NAME UUID TYPE DEVICE eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3 ...

  9. C#实例:datagridview单元格合并

    这是替C#微信交流群群友做的一个小实例,目的就是在datagridview选择对应行以后,点击button后获取对应行的ip,并执行相应的操作,其实我觉得这样的话button没必要非放置到datagr ...

  10. VUE自学日志02-应用与组件实例

    准备好了吗? 我们刚才简单介绍了 Vue 核心最基本的功能--本教程的其余部分将更加详细地涵盖这些功能以及其它高阶功能,所以请务必读完整个教程! 应用 & 组件实例 创建一个应用实例创建一个应 ...