java简单类+this关键字用法

版权声明:转载请注明出处,谢谢合作 https://blog.csdn.net/qq_40738840/article/details/85771577

今天开始学习java,第一次自学其他语言,真是有些小兴奋呢,这些与C++不同的特性或是不熟悉的特性都希望能将其记录下来,日后便于查阅复习,顺便见证下自己的成长轨迹,嘿嘿嘿。。。


今日问题

搞定

  • java简单类是啥,咋用
  • this关键字三类用法

半懂

  • this在重载的构造方法中调用其它构造方法为啥要置顶??

懵逼

  • String类两种构造方法的区别,字符串构造,普通类构造??
  • 字符串内容一旦声明后不可改??

java简单类 is what??

java简单类是一种重要的开发模型,也可以称为一种编写规范,有四条原则须遵守

  • 1,类中所有属性必须用private修饰(封装体现)
  • 2,类中所有属性必须有setter,getter方法(进一步支持封装)
  • 3,类中若有重载构造方法,需按照参数有序排列(升/降)(好看);一定要包括一个无参构造方法(避免后续出错)
  • 4,不允许在类的方法中使用打印语句(System.out.println),若想打印,必须将结果返回调用处

this关键字 is what???

this关键字可将其看成一个对象,所以对象能干的事它基本都能干,不过他是特指本类,他有三种用法

  • 1,表示本类属性:this.属性
  • 2,表示本类方法,方法分为普通方法:this.方法名(),构造方法:this()
  • 3,表示当前对象

tips表示本类属性、方法或对象可在类中任意位置使用,但是表示构造方法则有限制

  • 1,仅在构造方法中调用
  • 2,必须置于第一句(实例化对象调用优先级:构造方法>普通方法>其他语句)
  • 3,this可用来提高复用性

一个员工例子说明java简单类原则,this关键字使用属性及方法

public class Employee {
	//原则1:所以属性加上private
	private String id;
	private String name;
	private String salary;
	private String department;
	
	//原则2:若有多个重载构造函数,按照参数个数升序或降序排放;
	//		必须要有无参构造函数
	public Employee() {}
	public Employee(String id) {
		this.id = id;//this使用属性
	}
	public Employee(String id,String name) {
		this(id);//this调用构造方法,必须置于第一行
		this.name = name;//this使用属性
	}
	public Employee(String id,String name,String salary,String department) {
		this(id,name);//this调用构造方法,必须置于第一行
		this.setSalary(salary);//this调用普通方法,等价于this.salary = salary;
		this.department = department;//this使用属性
	}
	//原则3:每个属性均有setter,getter方法
	public void setId(String id) {
		this.id = id;
	}
	public String getId() {
		return this.id;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return this.name;
	}
	public void setSalary(String salary) {
		this.salary = salary;
	}
	public String getSalary() {
		return this.salary;
	}
	public void setDepartment(String department) {
		this.department= department;
	}
	public String getDepartment() {
//		System.out.println("不可以直接在方法中输出,必须将值返回给调用处");原则四
		return this.department;
	}
	public static void main(String[] args) {
		Employee e = new Employee("100","阿俊","10000","技术部");
		System.out.println(e.getId());
		System.out.println(e.getName());
		System.out.println(e.getSalary());
		System.out.println(e.getDepartment());//调用处输出
		e.setId("666");
		System.out.println(e.getId());		
	}
}

输出结果

1
2
3
100
阿俊
10000
技术部
666

一个简单例子演示this关键字表示对象

class DemoA{
	public void print() {
		System.out.println("当前对象:"+this);
	}
}
public class Demo_this {
	public static void main(String[] args) {
		DemoA d1 = new DemoA();//声明并实例化对象
		DemoA d2 = new DemoA();
		System.out.println(d1);//输出对象
		d1.print();//调用函数测试输出(违背了java类原则4,不过这里是为了演示效果)
		System.out.println("==============");
		System.out.println(d2);
		d2.print();
	}
}

结果

DemoA@7852e922
当前对象:DemoA@7852e922
==============
DemoA@4e25154f
当前对象:DemoA@4e25154f

猜你喜欢

转载自blog.csdn.net/qq_40738840/article/details/85771577