【JAVA】包、访问修饰符、final、接口

,java中,包(package)的功能是将繁杂的类进行归类。将同一项目的文件进行分类存储,避免混淆名字相同或相近的类。故在起类名之前加了其所在包的包名,这就好比称呼名字相同的人。为了加以区分,在其名字之前添加称谓。比如其职务、从属单位等。
在此基础上,import便出现。只需要在类文件中,将类的包名编写在import之后。此后,在new类的构造函数时,便可省去编写冗长类名的痛苦。

访问修饰符,为了满足对类在不同权限下的调用,而完成高效的面向对象编程。java中四大访问修饰符:public、default、protected、private各显神通,实现了逐级开放访问权限的功能。
在这里插入图片描述
final,final的三个作用简单概括起来就是:声明常量阻止重写阻止继承

其中,第二个和第三个并不冲突。因为阻止重写并不阻止重载。

public class Pack {
	private String type;
	/**
	 * final的第一种用法 final修饰变量的时候就是在声明常量,在Test类里是不能被修改的。
	 */
	// 静态属性,分配内存,不需要实例化。
	public static final String ROU = "肉包";
	public static final String DOU = "豆包";
	public static final String CAI = "菜包";

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
}
/**
 * final的第二种用法
 * final修饰类的时候阻止重写
 * @author 
 */
public final class 太监 {

}

/**
 * final第二种用法:阻止重写
 * final修饰方法的时候阻止重写
 * @author 
 *
 */
public class 子孙 extends 祖宗 {
	public final void 对阵仗() {//此处会报错
		// final修饰方法的时候阻止重写

	}
}
/**
 * final的第三种用法
 * final修饰类的时候阻止继承
 * @author 
 */
public final class 太监 {

}

/**
 * final的第三种用法:阻止继承
 * final修饰类的时候阻止继承
 * @author 刘渊
 */
public class 太监的儿子 extends 太监 {//此处会报错
	
}

接口,接口的主要功能是协作和隔离变化的。此外,接口可以继承多个接口,即在java里接口实现了多继承。而在对象类里,接口对方法的重写,则是对其内部的功能的实现。

//接口主要是协作,隔离变化的。
public interface Function1 {
	public void eat();

	public void drink();

	public void excrete();

	public void urine();

	public void speak(String content);
}
//接口主要是协作,隔离变化的。
public interface Function2 {
	public void blow();

	public void pull();

	public void play();

	public void sing();

}
//接口主要是协作,隔离变化的。
//接口对接口是继承,类对接口是实现。
public interface Function3 extends Function1, Function2 {
	// 接口可以多继承接口,即接口实现了多继承。
}

//接口主要是协作,隔离变化的。
public class Person implements Function1, Function2 {

	@Override
	public void blow() {
		// TODO Auto-generated method stub

	}

	@Override
	public void pull() {
		// TODO Auto-generated method stub

	}

	@Override
	public void play() {
		// TODO Auto-generated method stub

	}

	@Override
	public void sing() {
		// TODO Auto-generated method stub

	}

	@Override
	public void eat() {
		// TODO Auto-generated method stub

	}

	@Override
	public void drink() {
		// TODO Auto-generated method stub

	}

	@Override
	public void excrete() {
		// TODO Auto-generated method stub

	}

	@Override
	public void urine() {
		// TODO Auto-generated method stub

	}

	@Override
	public void speak(String content) {
		// TODO Auto-generated method stub

	}

}

//接口主要是协作,隔离变化的。
public class Test {
	public static void main(String[] args) {
		Function1 f = new Function1() {

			@Override
			public void urine() {
				// TODO Auto-generated method stub

			}

			@Override
			public void speak(String content) {
				// TODO Auto-generated method stub

			}

			@Override
			public void excrete() {
				// TODO Auto-generated method stub

			}

			@Override
			public void eat() {
				// TODO Auto-generated method stub

			}

			@Override
			public void drink() {
				// TODO Auto-generated method stub

			}
		};
		f.eat();
		f.drink();
		f.excrete();
		f.urine();

	}
}

//接口主要是协作,隔离变化的。
public class Test2 {
	public static void main(String[] args) {
		Function2 f = new Function2() {

			@Override
			public void sing() {
				// TODO Auto-generated method stub

			}

			@Override
			public void pull() {
				// TODO Auto-generated method stub

			}

			@Override
			public void play() {
				// TODO Auto-generated method stub

			}

			@Override
			public void blow() {
				// TODO Auto-generated method stub

			}
		};
		f.blow();
		f.pull();
		f.play();
		f.sing();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_临渔_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值