JAVA笔记4__static关键字/对象数组/foreach/方法的可变参数
/**
* 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/方法的可变参数的更多相关文章
- Java笔记 —— this 关键字
Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: re ...
- javascript 克隆对象/数组的方法 clone()
1 11 javascript 克隆对象/数组的方法 clone() 1 demo: code: 1 var Obj; 2 let clone = (Obj) => { 3 var buf; ...
- AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到
AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到
- java 重写你可以这么理解 因为 方法名和参数类型个数相同 所以这就是重写了 然后 因为是重写 所以 返回值必须相同
java 重写你可以这么理解 因为 方法名和参数类型个数相同 所以这就是重写了 然后 因为是重写 所以 返回值必须相同
- C#方法的重载和方法的可变参数
方法的重载 1.方法重载的前提:方法名称必须一样 2.构成重载的条件:参数不一样(参数数量不一样,参数类型不一样) 方法的可变参数 1.可变参数的值的数量可以是0到多个. 2.可变参数调用的时候,没有 ...
- Java学习笔记18---final关键字修饰变量、方法及类
英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更 ...
- Java笔记——Java8特性之Lambda、方法引用和Streams
Java8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进行Spring开发,那么可以发现Spring的官网已经全部使用Java8来编写示例代码了,所以,不学就看不懂. 这里涉及三 ...
- Java开发笔记(二十五)方法的输入参数
前面通过main方法介绍了方法的定义形式,对于方法的输入参数来说,还有几个值得注意的地方,接下来分别对输入参数的几种用法进行阐述.一个方法可以有输入参数,也可以没有输入参数,倘若无需输入参数,则方法定 ...
- javascript笔记7之对象数组
/* var box = new Array(); //声明一个数组,空数组 alert(typeof box); //数组属于object类型 var box = new Array('李炎恢', ...
随机推荐
- php 设计模式 --桥接模式
php抽象类和接口的区别 https://www.cnblogs.com/vinter/p/8716685.html 什么时候适合使用 --- 多个角色配合工作:抽象角色对应具体角色: <?ph ...
- 使用Postman做接口测试(学生信息的6个接口)
使用postman做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 请求方式选择:get 直接在访问地址栏中 ...
- P2179-[NOI2012]骑行川藏【导数,二分】
正题 题目链接:https://www.luogu.com.cn/problem/P2179 题目大意 给出\(E\)和\(n\)个\(s_i,k_i,u_i\)求一个序列\(v_i\)满足 \[\s ...
- CF618F-Double Knapsack【结论】
正题 题目链接:https://www.luogu.com.cn/problem/CF618F 题目大意 给出大小为\(n\),值域为\([1,n]\)的两个可重集合\(A,B\) 需要你对它们各求出 ...
- LaTeX bib 引用为 作者 + 年份
将bib文件命名为ref.bib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% @Description: %%%%%%%% @Version: 1.0 %%%% ...
- Vulnhub实战-JIS-CTF_VulnUpload靶机👻
Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...
- Serverless 在大规模数据处理的实践
作者 | 西流 阿里云技术专家 前言 当您第一次接触 Serverless 的时候,有一个不那么明显的新使用方式:与传统的基于服务器的方法相比,Serverless 服务平台可以使您的应用快速水平扩展 ...
- Spatial Analyst 工具-数学分析
数学分析 # Process: Abs arcpy.gp.Abs_sa("", 输出栅格) # Process: Exp arcpy.gp.Exp_sa("", ...
- Mydoom样本分析报告
文件检测 信息 值 文件名 1.virus 文件类型 WIN 32 EXE 文件大小 41664 bytes MD5 3d466b0f8ba9f3fe03e137a34d79f682 SHA-256 ...
- javaweb 入门
java web 我们首先来看一下两种网络服务的常用架构. C/S([Client/Server])架构 B/S架构 (Browser/Server) (这是重点) 程序完全部署在服务器上,用户通过浏 ...