持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天
定义类,成员变量和方法
定义类
对于类的定义是
[修饰符]class类名
{ 构造器定义,成员变量,方法
}
修饰符可以是public,final,abstract。
成员变量:
修饰符可以是:public,protected,private,static,final。其中public,protected,private只能出现一次,且static和final可以组合起来修饰成员变量。
成员变量即为定义在类里面的变量,分为实例变量跟类变量,也被称作全局变量
实例变量:实例变量也叫对象变量,即没加static 的变量;
类变量:类变量也叫静态变量,即在变量前加static 的变量;
static修饰的成员不能访问没有static修饰的成员。
下面是错误演示:
`public class Arraytest{
public void say() {
System.out.println("123");
}
public static void main(String[] args) {
say(); } }`
则会出现无法从静态引用非静态的提示。
但是如果这个main函数跟自己定义的这个方法在两个类里的话,就不会出现这样的报错。
类的定义与引用实例
public class Person {
public String name;
public int age;
public void say(String content) {
System.out.println(content);
}
}
public class Arraytest{
public static void main(String[] args) {
Person p;
p=new Person();
p.name="cbw";
p.say("love");
System.out.println(p.name);
}
}
形参个数可变的方法(String...books来代替数组)
public class Arraytest{
public static void say(String... books) {
for (var tmp:books)
{
System.out.println(tmp);
}
}
public static void main(String[] args) {
say("三国演义","水浒传");
}
}
其中的String...books表示的是一个Sring books[]
但是如果使用第二种声明方式的话,在调用say方法传入数据的时候代码则要修改成
say(new String []{"三国演义“,”水浒传“});
相比而言String...books完美简化了String[]books的复杂。