面向对象——01

95 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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的复杂。