* 一、抽象
* 1.简单理解:
* 把一类事物的共有的属性和行为提取出来,形成一个物理模型,这种方法叫抽象。
* 二、封装
* 1.简单理解:
* 把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部。
* 程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。
* 2.访问控制修饰符:
* 对象中的一些部分是公开的,其他部分是非公开的,通过控制修饰符来控制类中某些信息是否公开。
* 1).公开public:对外公开
* 2).受保护级别:用protected修饰,对于类和同一个包中的类 公开
* 3).默认级别:无修饰符,向同一个包中的类公开。
* 3.包的介绍
* 1).三大作用:
* 区分相同名字的类;(在同一个包内,某两个Java文件,同时存在名字相同的类会出错,需要用包分离)
* 类很多时,管理类;
* 控制访问范围;
* 2).命名规范 小写
* 3).常用包:
* java.lang.* (自动引入) java.util.* (工具包)
* java.net.* (网络开发包) java.awt.* (窗口工具包)
* 4).打包命令: package [包名]
* 5).引入包: import [包名]
* 1.简单理解:
* 把一类事物的共有的属性和行为提取出来,形成一个物理模型,这种方法叫抽象。
* 二、封装
* 1.简单理解:
* 把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部。
* 程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。
* 2.访问控制修饰符:
* 对象中的一些部分是公开的,其他部分是非公开的,通过控制修饰符来控制类中某些信息是否公开。
* 1).公开public:对外公开
* 2).受保护级别:用protected修饰,对于类和同一个包中的类 公开
* 3).默认级别:无修饰符,向同一个包中的类公开。
* 4).私有级别:private,只有类本身可以访问,不对外公开。
访问级别 | 访问控制修饰符 | 同类 | 同包 | 子类 | 不同包 |
公开 | public | √ | √ | √ | √ |
受保护 | protected | √ | √ | √ | × |
默认 | 没有修饰符 | √ | √ | × | × |
私有 | private | √ | × | × | × |
* 3.包的介绍
* 1).三大作用:
* 区分相同名字的类;(在同一个包内,某两个Java文件,同时存在名字相同的类会出错,需要用包分离)
* 类很多时,管理类;
* 控制访问范围;
* 2).命名规范 小写
* 3).常用包:
* java.lang.* (自动引入) java.util.* (工具包)
* java.net.* (网络开发包) java.awt.* (窗口工具包)
* 4).打包命令: package [包名]
* 5).引入包: import [包名]
public class learnJ_2sidatexing {
/**
* @作者:shuiyixin
* @日期:2018.01.28
* @内容:学习Java类的四大特性:抽象,封装,继承,多态
*/
public static void main(String [] args){
Clerk Cl1 = new Clerk(20,2000,"wangmei");
//System.out.println(Cl1.age);语句错误,因为在类的外部,无法通过实例化的对象来访问私有成员变量。
System.out.println(Cl1.name);//语句正确,因为在类的外部,可以通过实例化的对象来访问公有成员变量。
Cl1.getInfo();
}
}
class Clerk{//职员类
public String name;//一个人的姓名设为公有,别人可以访问到
private int age;//一个人的年龄设为私有,别人不能访问到
private int money;
public Clerk(int age,int money,String name){
this.age = age;
this.money = money;
this.name = name;
}
public void getInfo(){
System.out.println("该名职员的姓名是:" + this.name);
System.out.println("该名职员的年龄是:" + this.age);
System.out.println("该名职员的工资是:" + this.money);
}
};