* 一、抽象
 * 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);
	}
};

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐