java类的方法函数和属性初始化赋值

目录

类的方法函数和引用

(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;
	 }

}

(1)静态方法调用

方法函数可以在一个类中被引用,也可以在其他类中被引用,但是被引用过程如果是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改成相对应的类即可。

(2)非静态方法调用

非静态方法表现形式为没有 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 类一定要有构造器,构造器分为无参构造器和有参构造器,一个类会自动生成无参构造器,下面我将讲述有参构造器和无参构造器调用值的区别

(1)无参构造器调用值

定义一个pet的类

//定义一个类pet,属性 name,age,
public class Pet {
	
	public String name;
	public int age;

	//无参构造器初始值
	public Pet() {
		
	}
}

主函数main

public class mainn {
	public static void main(String[] args) {
		Pet pet = new Pet();   
		System.out.println(pet.name);  
	}
}
//输出  null 因为 pet.name 没赋值,初始值为null

那么这种情况任何给name赋初始值呢?只需要对Pet类的无参构造器进行赋值即可,然后运行main函数,修改代码如下:

//定义一个类pet,属性 name,age,
public class Pet {
	
	public String name;
	public int age;

	//无参构造器初始值
	public Pet() {
		this.name = "小明";
		
	}
}

(2)有参构造器调用值

定义一个pet的类

//定义一个类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
		
	}
}

主函数main

public class mainn {
	public static void main(String[] args) {
		Pet pet = new Pet("小红");
		System.out.println(pet.name);
	}

}
//输出小红

有参构造器Pet()里面有参数,所以new Pet()里面有要有参数,如果想没有参数也可以使用,必须再加一个无参构造器,里面为空即可

//定义一个类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
//输出 小明

总结:

学习类和对象,就是为了使用对象,但是在类中,除了类中的静态方法使用函数可以不用实例化类,其他使用非静态方法函数或者类的属性都需要实例化类成为对象才能使用。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值