Java基础 09

版权声明: https://blog.csdn.net/qq_40794602/article/details/86679979

封装:

  • 封装概述 :是指隐藏对象的属性和实现细节,仅对外提供公共public访问方式。
  • 封装好处 :隐藏实现细节,提供公共的访问方式 ;提高了代码的复用性和安全性。
  • 封装原则:封装原则将不需要对外提供的内容都隐藏起来;把属性隐藏,提供公共方法对其访问。

private(私有)关键字特点:

  • 是一个权限修饰符 ;可以修饰成员变量和成员方法;被其修饰的成员只能在本类中被访问
  • 当成员变量用private修饰表示外界不能访问
  • 案例的解决方法:把成员变量用private修饰;提供对应的getXxx()和setXxx()方法;注意:get和set后面的字母一般都用大写

使用private对类成员属性进行封装(EG):

public class J1 {

	public static void main(String[] args) {
		Person p = new Person();
		p.name = "Vincent_Kwok";
		p.setAge(20);
		p.speak();
		
		//获取年龄?提供一个get方法
		System.out.println("年龄:" + p.getAge());
	}

}

class Person{
	String name;
	private int age;
	
	public int getAge(){ //提供接口对封装属性进行访问
		return age;
	}
	
	public void setAge(int myAge){//提供接口对封装属性进行操作
		//年龄赋值的问题,不能赋值负数,也不能赋值无限大
		if(myAge > 0 && myAge <= 150){//才是符合现实情况的
			age = myAge;
		}else{
			System.out.println("年龄只能是1~150,如果不是这范围,请你回火星去...");
		}
	}
	public void speak(){
		System.out.println("I'm " + name + "," + age + " years old");
	}
}

 this关键字:

  • this关键字特点:代表当前对象的引用
  • this的应用场景:用来区分成员变量和局部变量重名
  • this和外面调用的变量是指向同一地址的,指的是同一个对象【好好理解】

构造方法:

  • 方法名与类名相同(大小也要与类名一致)
  • 没有返回值类型,连void都没有
  • 没有具体的返回值return
  • 构造方法分为有参构造和无参构造两种
  • 构造方法可以重载

构造方法EG:

public  class J1{
	public static void main(String[] args){
		Student stu = new Student("学生");
		System.out.println(stu.name);
	}
}

class Student{
	String name;
	public Student(String name){//有参构造方法
		this.name = name;  //使用this关键字
	}
}

构造方法注意事项:

  • 如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
  • 如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
  • 如果我们声明的有参的构造方法,这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法
  • 正确构造方法的书写格式 【public 类名()】

static关键字的特点:推荐阅读博客

  • 随着类的加载而加载
  • 优先于对象存在
  • 被类的所有对象共享
  • static声明的成员属性可以通过类名调用 其实它本身也可以通过对象名调用。 推荐使用类名调用【强调】
  • 在C/C++中static是可以作用域局部变量的,但是在Java中切记:static是不允许用来修饰局部变量。不要问为什么,这是Java语法的规定

补充:eclipse可以快速生成构造方法

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/86679979