/**
* 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. [闻缺陷则喜]关于boost的想法

    公司有个大约2万行的项目,用到了boost,我想取消掉不用boost.理由:一,可理解性差,除了高手很难弄懂.二,类太多,光头文件就1万多.大点的团队四五个高手,每人用一个boost类.高手流失后,很 ...

  2. Vue组件封装之无限滚动列表

    无限滚动列表:分为单步滚动和循环滚动两种方式 <template> <div class="box" :style="{width:widthX,hei ...

  3. JSON,XML设计模式详解

    JSON在Java中的应用: Json概念: json 是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式用来存储和表示数据.JSON的语言简洁清晰,广为大众所欢迎,是一种理想的数据交换语言 ...

  4. 关于php的ini文件相关操作函数浅析

    在小公司,特别是创业型公司,整个服务器的搭建一般也是我们 PHP 开发工程师的职责之一.其中,最主要的一项就是要配置好服务器的 php.ini 文件.一些参数会对服务器的性能产生深远的影响,而且也有些 ...

  5. 【PHP】随机生成名字

    public function test(){ $a = "赵 钱 孙 李 周 吴 郑 王 冯 陈 楮 卫 蒋 沈 韩 杨 朱 秦 尤 许 何 吕 施 张 孔 曹 严 华 金 魏 陶 姜 戚 ...

  6. Java面向对象系列(10)- 什么是多态

    多态 即同一方法可以根据发送对象的不同而采取不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用类型有很多 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 注意:多态是 ...

  7. gin 源码阅读(1) - gin 与 net/http 的关系

    gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin. 这个系列 gin 源码阅读会逐步讲明白 gin 的原理. gin 概览 想弄清楚 gin, ...

  8. Redis Windows 服务启动异常 错误码1067

    https://blog.csdn.net/after_you/article/details/62215163 Redis Windows 服务启动异常 错误码1067 下载了Redis 2.8.2 ...

  9. ES增删改查

    了解了一下python对es 7.5的操作,记录下,不难: #!/usr/bin/env python # -*- coding: UTF-8 -*- from settings import Con ...

  10. 残差网络resnet理解与pytorch代码实现

    写在前面 ​ 深度残差网络(Deep residual network, ResNet)自提出起,一次次刷新CNN模型在ImageNet中的成绩,解决了CNN模型难训练的问题.何凯明大神的工作令人佩服 ...