Java基础知识(二)

类的定义

类的定义包括类声明和类体的定义


类中通常包含构造方法,成员变量,成员方法

/*定义了一个名为Hero的类*/
package com.boda.xy;
public class Employee{
	//成员变量声明
	String name;
	int age;
	double salary;
	//无参构造方法
	public Employee(){
	}
	//成员方法
	public void sayHello(){
		System.out.println("My name is " + name);
	}
	public double computeSalary(int hours,double rate){
		double totalSalary;
		totalSalary = salary + hours * rate;
		return totalSalary; 
} 

创建并使用类的对象

package com.boda.xy;
public class EmployeeDemo{
	public static void main(String[] args){
		Employee employee = new Employee(); //声明并创建一个Employee对象
		//访问类的成员变量
		employee.name = "xiaohong";
		employee.age = 12;
		employee.skill = "sajiao";
		//调用类的成员方法
		employee.sayHello();

栈与堆

  • 栈区:由系统分配,存放变量和方法
  • 堆区:存放new创建的对象和数据还有引用类型的参数
  • 方法区:存放方法中的内容

构造方法的重载

构造方法有无参,有参的重载,建议写无参和全参的构造方法


/*全参构造方法*/
public Employee(String name,int age,double salary){
	this.name = name;  //this.name指成员变量的name,等号右边的name是参数的name                     
	this.age = age;
	this.salary = salary;
}

this关键字的使用场合:

1.解决局部变量与成员变量同名的问题
2.解决方法参数与成员变量同名的问题
3.用来调用该类的另一个构造函数


getter和setter方法

getter方法,也叫访问方法;setter方法,也叫修改方法

public void setName(String name){
	this.name = name;
}
public String getName(){
	return name;
}

方法重载

要求同名的方法要么参数个数不同,要么参数类型不同


public void display(int a){
	System.out.println("a = " + a);
}
public void display(double d){
	System.out.println("d = " + d);
}

方法参数的传递

对于基本类型的参数,参数调用方法后,对原来的值没有影响即形参的改变不影响实参的值


对于引用类型的参数,传递的是引用(地址),因此原来的值会改变


package com.boda.xy;
public class PassByValue{
	public static void change(int num){
		num = 200;
		System.out.println(num); //输出200
	}
	public static void change(Employee emp){
		emp.setSalary(8000);
		System.out.println(emp.getSalary()); //8000
	}
	public static vois main(String[] args){
		int number = 100;
		change(number);
		System.out.println(number);  //输出的还是100
		Employee employee = new Employee();
		employee.setSalary(5000);
		change(employee);
		System.out.println(employee.getSalary()); //输出的是8000,而不是5000
	}
}

静态变量和静态方法

1.静态变量和实例变量
 (1)实例变量: 创建多少个类的对象,系统为每个对象的实例变量分配一块内存
 (2)静态变量(类变量): 不管创建多少个类的对象,静态变量始终只有一块内存

  • 静态变量通常使用类名来访问
  • 实例变量通过对象来访问

2.静态方法和实例方法
 (1)静态方法属于类,它只能访问静态变量,调用静态方法
 (2)实例方法可以访问实例变量和静态变量,也可以调用实例方法和静态方法
 (3)静态方法通常用类名来调用,实例方法必须由类的对象来调用
 (4)静态方法中不能使用this和super关键字


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值