(Java核心技术基础知识(10))---- 构造器、隐式参数与显示参数、封装的优点(get()、set())、基于类的访问权限、私有方法final实例域

   4.3.4构造器

java中并没有构造方法的概念是从c++以往的书籍中翻译过来的所以所说的构造器就是构造方法。

构造器与类同名

每个类都可以有一个以上的构造器

构造器可以有0个、1个或多个参数

构造器没有返回值,但是不能声明void,访问权限可以为任意(一般情况下使用public方法权限)

构造器总是伴随着new操作一起调用

同时需要注意的是不要在构造器中定义与实例域重名的局部变量。

类可以不定义构造方法,这时编译器会为类隐含声明一个方法体为空的无参构造方法。但当类有明确的构造方法时,编译器就不会自动生成无参构造方法了。

4.3.5隐式参数与显式参数

方法用于操作对象以及存取它们的时实例域。

package com.Test;

public class Test {
	private double salary = 100;
	public void raiseSalary(double em) {
		double employ = salary * em;
		this.salary += employ;
		System.out.println(salary);
	}
	public static void main(String[] args) {
		Test test = new Test();
		test.raiseSalary(0.5);
	}
}

raiseSalary方法有两个参数(salary和em)第一个参数称为隐式参数,是出啊先在方法名前的Employee类对象(salary)。第二个参数称为显示参数,参数位于方法名后面括号中的数值(em)

一般用关键字this表示隐式参数。

4.3.6封装的优点

再仔细看一下非常简单的getName方法、getName方法、getSalary方法和getHireDay方法。

public String getName()
{
    return name;
}
public double getSalary()
{
    return salary;
}
public LocalDate getHireDay()
{
    return hireDay;
}

这些都是典型的访问器方法。由于它们只有返回实例域值,因此又称为域访问器。

有些时候,需要获取或

在这里插入一下java中get()和set()方法的理解和使用

set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的。而且,在类中使用set和get后面

跟上一些特别的词来形容特定意思的方法名。

Java面向对象编程中的封装性和安全性。封闭性即对类中的域变量封闭操作,即用private来修饰他们,如此一来其他类则不对该变量访问。提高了域变量的安全性,同时保证了域变量的封装性。

其实还有控制数值的输入,来保证程序的安全行

比如下面代码,控制输入年龄通过get(),set()。

package com.Test;


public class Test1 {
	public static void main(String[] args) throws Exception {
		Test test = new Test();
		test.setAge(121);
		System.out.println(test.getAge());
 	}
}
package com.Test;

public class Test {
	private String name;
	private int age;
	private char gender;
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	}
	/**
	 * @param age the age to set
	 * @throws Exception 
	 */
	public void setAge(int age) throws Exception {
		if(age < 1 || age > 120 ) {
			throw new Exception ("您输入的年龄不合法");
		}else {
			this.age = age;
		}
	}
	/**
	 * @return the gender
	 */
	public char getGender() {
		return gender;
	}
	/**
	 * @param gender the gender to set
	 */
	public void setGender(char gender) {
		this.gender = gender;
	}
	
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值