您当前的位置: 首页 >  Java

星夜孤帆

暂无认证

  • 3浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java学习笔记(16)-封装

星夜孤帆 发布时间:2018-05-22 00:02:08 ,浏览量:3

 * 访问控制:封装,将数据封装到类的内部,将算法封装到方法中 * 封装结果:存在但是不可见 * public :任何位置可见,修饰:属性,类,方法,内部类,跨包访问类。需要使用import语句导入。 * protected:当前包中可见,子类中可见。可以只修饰类的成员,只能在类体中使用,包括:属性,方法,内部类 * 默认的:当前包内部可见,就是没有任何修饰词,修饰:类,属性,方法,内部类等,在实际项目中很少使用。 * private:仅仅在类内部可见。修饰类的成员:属性,方法,内部类 * 默认类(包内类)的访问范围:当前包内部可见,不能在其他包中访问 * 类的访问受限 * 在企业项目中建议:所有类都是公用类。封装的类使用内部类 * java文件规则: * 1 一个java源文件中可以有多个类,但是只能有一个公用类 * 其他类只能是默认类(包中类)而且java的文件夹一定与公用类类名一致!如果没有公用类,可以和任何一个文件名一致 * 2 一般建议:一个文件一个公用类 * 一般不在一个文件中写多个类 * 私有的方法不能继承,也不能重写

package day03;
import day03.sub.Xoo;
public class Demo06 {
	public static void main(String[] args) {
		Yoo y = new Yoo();
		System.out.println(y.a);
		System.out.println(y.b);
		System.out.println(y.c);
//		System.out.println(y.d);//编译错误:有d但是不可见:封装
		System.out.println(y.getD());//8
		Xoo xoo = new Xoo();
		System.out.println(xoo.a);
//		System.out.println(xoo.b);//编译错,不在同一个包中,不可见
//		System.out.println(xoo.c);//编译错
//		System.out.println(xoo.d);//编译错
		System.out.println(xoo.getD());//9
		Too t = new Too();
		t.test();
	}
}
class Too extends Xoo{
	public void test(){
		System.out.println(super.a);
		System.out.println(super.b);//保护的,子类中可见
//		System.out.println(super.c);//不可见,默认范围:包中可见
//		System.out.println(super.d);
	}
}
/*
 * 对于类的修饰可以使用public和默认方式。public修饰的类可以被任何一个类使用;默认访问控制的类只可以被同一个包中的类使用。
 * protected和private可以用于修饰内部类。
 */
class Yoo{
	public int a = 5;//公用的
	protected int b = 6;//保护的
	int c = 7;//默认的
	private int d = 8;//私有的
	public int getD(){return this.d;}
}
关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.0371s