目录
类
类的方法函数和引用
(1)静态方法调用
(2)非静态方法调用
类的属性调用
(1)无参构造器调用值
定义一个pet的类
主函数main
那么这种情况任何给name赋初始值呢?只需要对Pet类的无参构造器进行赋值即可,然后运行main函数,修改代码如下:
(2)有参构造器调用值
定义一个pet的类
主函数main
有参构造器Pet()里面有参数,所以new Pet()里面有要有参数,如果想没有参数也可以使用,必须再加一个无参构造器,里面为空即可
总结:
方法函数就是在一个类中实现某种功能,main也是方法函数,我们自己写的像add()也是方法函数。例如:
public class Demo01 {
public static void main(String[] args) {
}
//方法函数
public String sayhello() {
return "hello,world";
}
public int add(int a,int b) {
return a+b;
}
}
方法函数可以在一个类中被引用,也可以在其他类中被引用,但是被引用过程如果是static 静态方法调用,可以直接调用,不是则不可以,例如在其他类中被引用:
public class Demo03 {
public static void main(String[] args) {
int a = Demo03.add(1,2);
System.out.println(a);
}
public static int add(int a,int b) {
return a+b;
}
}
//输出 3
静态方法调用在不同的类则把 Demo03.add()中的Demo03改成相对应的类即可。
非静态方法表现形式为没有 static ,调用非静态方法必须实例化该方法函数所在的类,比如在一个类下的非静态方法调用:
public class Demo01 {
public static void main(String[] args) {
Demo01 ad = new Demo01();
int num = ad.add(3, 4);
System.out.println(num);
}
//方法函数
public int add(int a,int b) {
return a+b;
}
}
//输出 7
在不同类下的实例化也是一样,只是把类修改,例如:
public class Demo02 {
public static void main(String[] args) {
//非静态方法调用
//实例化这个类 new 成为一个对象 然后调用
Student stu = new Student();
//实例化这个Student 这个类,并且命名对象为stu
stu.talk();
}
}
//输出small talk
//学生类
public class Student {
//非静态方法
public void talk() {
System.out.println("small talk");
}
}
类的属性调用离不开初始化类成对象,而new 类一定要有构造器,构造器分为无参构造器和有参构造器,一个类会自动生成无参构造器,下面我将讲述有参构造器和无参构造器调用值的区别
//定义一个类pet,属性 name,age,
public class Pet {
public String name;
public int age;
//无参构造器初始值
public Pet() {
}
}
public class mainn {
public static void main(String[] args) {
Pet pet = new Pet();
System.out.println(pet.name);
}
}
//输出 null 因为 pet.name 没赋值,初始值为null
//定义一个类pet,属性 name,age,
public class Pet {
public String name;
public int age;
//无参构造器初始值
public Pet() {
this.name = "小明";
}
}
//定义一个类pet,属性 name,age,
public class Pet {
public String name;
public int age;
//有参构造器初始值
public Pet(String name) {
this.name = name; //this.name 是pet类中的属性name name是传进来的参数name
}
}
public class mainn {
public static void main(String[] args) {
Pet pet = new Pet("小红");
System.out.println(pet.name);
}
}
//输出小红
//定义一个类pet,属性 name,age,
public class Pet {
public String name;
public int age;
public Pet() {
}
//有参构造器初始值
public Pet(String name) {
this.name = name;
}
}
public class mainn {
public static void main(String[] args) {
Pet pet = new Pet();
Pet pet1 = new Pet("小明");
System.out.println(pet.name);
System.out.println(pet1.name);
}
}
//输出 null
//输出 小明
学习类和对象,就是为了使用对象,但是在类中,除了类中的静态方法使用函数可以不用实例化类,其他使用非静态方法函数或者类的属性都需要实例化类成为对象才能使用。