/**
* 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. js判断访客来源网址和关键字

    加入现在有A.B两个站,A为友站,B为我站. 希望判断使用从A站连来时,就把访问者拒绝在门外,只要用简单几行的javascript,就可抓到使用的来源,以及作出一些防范的措施. <script ...

  2. pypandoc库实现文档转换

    写在前面: 对于python程序员来说,文件格式之间转换很常用,尤其是把我们爬虫爬到的内容转换成想要的文档格式时.这几天看到一个网站上有许多文章,个人很喜欢,直接复制太麻烦,为了将爬到的html文件以 ...

  3. 判断javaScript变量是Ojbect类型还是Array类型

      JavaScript是弱类型的语言,所以对变量的类型并没有强制控制类型.所以声明的变量可能会成为其他类型的变量, 所以在使用中经常会去判断变量的实际类型. 对于一般的变量我们会使用typeof来判 ...

  4. 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 百篇博客分析OpenHarmony源码 | v10.04

    百篇博客系列篇.本篇为: v10.xx 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 51.c.h .o 前因后果相关篇为: v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 ...

  5. WPF进阶技巧和实战01-小技巧

    Svg在WPF中的使用 方法1:拷贝svg中的部分代码转换成Geometry(作为Path的Data使用) 在vs或者直接打开svg,看到如下代码: <?xml version="1. ...

  6. iOS 15 无法弹出授权弹框之解决方案---Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.0

    2021年9月30日下午:我正愉快的期盼着即将到来的国庆假期,时不时刷新下appstoreconnect的网址,28号就提上去的包,今天还在审核中....由于这个版本刚升级的xcode系统和新出的iO ...

  7. Skywalking-12:Skywalking SPI机制

    SPI机制 基本概述 SPI 全称 Service Provider Interface ,是一种服务发现机制.通过提供接口.预定义的加载器( Loader )以及约定俗称的配置(一般在 META-I ...

  8. jQuery实现购物车功能

    1.HTML代码(品优购模版) <!DOCTYPE html> <html lang="zh-CN"> <head> <meta char ...

  9. 5-基本的sql查询以及函数的使用

    基本SQL查询语句以及函数的使用 格式元素 描述 YYYY 四位的年份 MONTH 月份的英文全称 MON 月份的英文简写 MM 月份的数字表示 DD 日起的1-31数字表示 D 星期几的数字表示1- ...

  10. 生日礼物网页Javascript版本与锚点版本

    <style> #dv1{ width:60px; height:36px; margin:0 auto; background-color:orange; display:none; } ...