📄 implementszzj.java
字号:
public class implementszzj {
/**
* 接口的定义:由于c++有多继承,java只能单继承, 所以增加了接口来实现多继承 接口是一种特殊的抽象类, 也就是final类。
* 这种抽象类中,只包含常量,也就是final定义的静态static变量和方法定义,
* 也就是只有定义函数,不在里面写实现的内容在抽象类中定义常量的好处是, 由于该量只能存放到data segment静态字符常量保存地方,
* 不放在变量栈内存和类方法的堆内存中,所以,避免了c++中, 多继承的时候, 定义的变量名一样,导致调用困难。data segment好处,
* 也就是不管多少个相同的定义名,在里面都默认为一个。 好了复习下四大存放区域: heap 定义new方法的资料存放地 stack 局部变量
* 主函数变量存放地 data segment 静态变量字符常量存放地 code segment 代码存放
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
s1 ss1 = new set1("set1的名字");
ss1.ss1();
ss1.ss2(); // 注意,接口类只能调用自己的接口方法
s2 ss2 = new set2(12);
ss2.sss1();
ss2.sss2();
// //
// 由于set包含了set1和set2。所以s1只能访问s1,s2只能访问s2;
// 表明每一个接口对应自己的方法。所以用什么接口在set3上,就调用该接口方法
// s1 ss3=new set3();
s2 ss3 = new set3();
ss3.sss1();
}
}
// 定义了s1的接口以及方法
interface s1 {
public void ss1();
public void ss2();
}
// 定义了接口的实现过程,注意,定义接口必须要对应实现过程
class set1 implements s1 {
private String name;
set1(final String name) {
this.name = name;
System.out.println("定义构造方法来传递姓名");
}
public void sett1() {
System.out.println("这个是自己定义 的方法");
}
public void ss1() {
// TODO Auto-generated method stub
System.out.println("这个是接口ss1的实现过程");
}
public void ss2() {
// TODO Auto-generated method stub
System.out.println("这个是接口ss2的实现过程");
}
}
// 定义了s2的接口以及方法
interface s2 {
public void sss1();
public void sss2();
}
// 定义了接口的实现过程,注意,定义接口必须要对应实现过程
class set2 implements s2 {
private int age;
set2(final int age) {
this.age = age;
System.out.println("定义构造方法来传递年龄");
}
public void sss1() {
// TODO Auto-generated method stub
System.out.println("这个是接口sss1的实现过程");
}
public void sss2() {
// TODO Auto-generated method stub
System.out.println("这个是接口sss2的实现过程");
}
}
// 定义了多个接口的实现过程,注意,定义接口必须要对应实现过程
class set3 implements s1, s2 {
public void ss1() {
// TODO Auto-generated method stub
System.out.println("这个是接口ss1的实现过程");
}
public void ss2() {
// TODO Auto-generated method stub
System.out.println("这个是接口ss2的实现过程");
}
public void sss1() {
// TODO Auto-generated method stub
System.out.println("这个是接口sss1的实现过程");
}
public void sss2() {
// TODO Auto-generated method stub
System.out.println("这个是接口sss2的实现过程");
}
}
//定义一个类并且 定义了一个方法并实现
class set4 {
void sett() {
System.out.println("这个是set4的方法");
}
}
//定义一个类并且继承了 set4的类和 继承了 s1 s2的接口
class set5 extends set4 implements s1, s2 {
//定义接口必须要对应实现过程
public void ss1() {
// TODO Auto-generated method stub
}
public void ss2() {
// TODO Auto-generated method stub
}
public void sss1() {
// TODO Auto-generated method stub
}
public void sss2() {
// TODO Auto-generated method stub
}
}
//定义了一个类,继承了set2的类,由于里面有自己定义的构造方法,所以
//继承下来必须也重写自己的构造方法并且通过super方法来传递给父类set2
class set6 extends set2
{
set6(int age) {
super(age);
// TODO Auto-generated constructor stub
}
}
class set7 extends set1
{
set7(String name) {
super(name);
// TODO Auto-generated constructor stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -