# 封装与隐藏
## 课堂代码-封装
~~~java
public class Students {
/**
* 对于封装的概念,其实是将成员变量隐藏起来,提供对外的方法以供修改和使用
* 如何隐藏起来:使用private关键字,控制成员变量的访问只能在本类中进行访问使用
* 如何提供对外方法:使用set和get,提供对外暴露的方法
*/
private String name;
private int age;
private String sex;
/**
* set方法 修改成员变量值
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* get方法 获取成员变量值
* @return
*/
public String getName() {
return this.name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age > 0) {
this.age = age;
} else {
this.age = 0;
}
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Students() {
}
public Students(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
}
~~~
~~~java
package com.dodoke.demo1;
public class StudentsTest {
public static void main(String[] args) {
Students stut = new Students();
/*stut.name = "曹凯";
stut.age = 25;
stut.sex = "男";
stut.age = -10;*/
/**
* 使用set方法设置对象的属性
*/
stut.setName("曹凯");
stut.setAge(-10);
stut.setSex("男");
/**
* 使用get方法获取对象的属性
*/
System.out.println(stut.getName());
System.out.println(stut.getAge());
System.out.println(stut.getSex());
}
}
~~~
## 课堂代码-包与引入
~~~java
/**
* 包的存在其实是为了分类存放我们创建出来的类,同时也有规定类的唯一性的作用
* package关键字来定义包
* 定义包的语句要放在java文件的第一行
*/
package com.dodoke.demo1;
import com.dodoke.demo2.*;
//import com.dodoke.demo2.StudentUse;
public class Student {
public static void main(String[] args) {
//该类的全名叫做com.demo1.Student;
com.dodoke.demo1.Student stu = new com.dodoke.demo1.Student();
//如果要引用demo2中Student类
com.dodoke.demo2.Student stu2 = new com.dodoke.demo2.Student();
com.dodoke.demo2.Student stu3 = new com.dodoke.demo2.Student();
com.dodoke.demo2.Student stu4 = new com.dodoke.demo2.Student();
StudentUse stus = new StudentUse();
}
}
~~~
- 课程开始
- 第一课20191008
- 第二课20191009
- HTML
- CSS
- CSS第一课
- CSS第二课
- CSS第三课
- CSS第四课
- CSS第五课
- JavaScript
- Js第一课
- Js第二课
- Js第三课
- Js第四课
- Js第五课
- Js第六课
- Js第七课
- Js-事件模型
- Js-2019-10-31-标准库
- Js-2019-11-01- 标准库
- Js-2019-11-01-Json
- Js-2019-11-01-对象的创建
- Js-2019-11-04-this的使用
- Js-2019-11-05-storage与异常
- Js-2019-11-05-BOM与补充知识点
- Js-2019-11-06-正则表达式和计时器
- jQuery
- jQuery-2019-11-13-初识jQuery
- jQuery-2019-11-14-jQuery节点操作
- jQuery-2019-11-15-jQuery节点操作二
- jQuery-2019-11-16-jQuery效果与动画
- Java
- Java-2019-11-27-变量直接量数据格式运算符
- Java-2019-11-28-流程控制
- Java-2019-12-02-数组
- Java-2019-12-04 面向对象
- Java-2019-12-05-封装
- Java-2019-12-06-深入构造器
- Java-2019-12-09-继承
- Java-2019-12-10-多态
- Java-2019-12-10-包装类
- Java-2019-12-11-final修饰符
- Java-2019-12-11-包装类
- Java-2019-12-11-接口
- java-2019-12-13-设计模式
- Java-2019-12-16-集合框架
- Java-2019-12-18-集合排序
- Java-2019-12-23-常用类学习
- Java-2019-12-25-异常处理
- Java-2019-12-31-内部类详解
