封装继承多态
1.封装
概念:
隐藏对象的属性和实现细节,对外提供公共的访问方式。
原则:
不需要用户访问的内容隐藏起来
优点:
1.安全性高
2.独立性高
3.复用性高
package org.wdit.unit07;
/**
* 标准类第一版
* 1.私有化成员变量
* 2.提供公共的访问方法:setXxx()/getXxx()
*/
public class Student2 {
//1.私有化成员变量
private String name;//姓名
private int age;//年龄
//2.提供公共的访问方式
//获取姓名的方法
public String getName(){
return name;
}
//设置姓名的方法
public void setName(String name){
this.name=name;
}
//获取年龄的方法
public int getAge(){
return age;
}
//设置年龄的方法
public void setAge(int a){
age=a;
}
}
class Student2Text{
public static void main(String[] args) {
Student2 student2 = new Student2();
student2.setAge(20);
System.out.println(student2.getAge());
student2.setName("赵童");
System.out.println(student2.getName());
}
}
2.private关键字
1.他是一个权限修饰符
2.成员变量和成员方法
3.被它修饰的成员变量和成员方法只能在本类中被访问,如果其他类像访问,就必须提供公共的访问方式。
package org.wdit.unit07;
/**
* 标准类第一版
* 1.私有化成员变量
* 2.提供公共的访问方法:setXxx()/getXxx()
*/
public class Student2 {
//1.私有化成员变量
private String name;//姓名
private int age;//年龄
//2.提供公共的访问方式
//获取姓名的方法
public String getName(){
return name;
}
//设置姓名的方法
public void setName(String name){
this.name=name;
}
//获取年龄的方法
public int getAge(){
return age;
}
//设置年龄的方法
public void setAge(int a){
age=a;
}
}
class Student2Text{
public static void main(String[] args) {
Student2 student2 = new Student2();
student2.setAge(20);
System.out.println(student2.getAge());
student2.setName("赵童");
System.out.println(student2.getName());
}
}
3.封装和private的应用
1.私有化成员变量
2.提供公共的访问方式:getXxx()/setXxx()
4.this关键字
1.表示当前类的对象
2.谁调用该方法,该方法内部的this就代表谁
3.解决局部变量和成员变量同名问题
5.构造方法
概述:
初始化类的对象,并对对象的属性进行初始化
格式:
1.没有返回值这一项
2.方法名与类名相同
注意事项:
1.如果我们没有给出构造方法,系统会隐式的提供一个无参构造方法
2.如果我们给出了构造方法,无论是有参还是无参系统都不在隐式的提供无参构造,推荐大家给出有参方法的同时,也给出无参构造
package org.wdit.unit07;
/**
* 学生类
*/
public class Student {
//成员变量(属性)
String name;
private int age;
//成员方法
/*
方法:
访问修饰符 返回值类型 方法名(参数列表){}
*/
public void study(String xueKe){
System.out.println("我正在学"+xueKe);
}
/**
* 设置年龄的方法
* 返回值类型:void
* 参数列表:int age
*/
public void setAge(int a){
if (a<0){
System.out.println("拜拜你那");
}else{
age=a;
}
}
/**
* 获取年龄的方法
* 返回值类型;int
* 参数列表:无
*/
public int getAge(){
return age;
}
}
class StudentDemo{
public static void main(String[] args) {
//创建类的对象 类名 对象名 = new 类名();
Student student = new Student();
//设置对象属性: 对象名.变量名
student.name="终南山";
// student.age=20;
student.setAge(18);
System.out.println(student