interface A{}
class B implements A
{
public String func()
{
return "func";
}
}
class Demo
{
public static void main(String[] args)
{
A a=new B();
System.out.println(a.func());
}
}
//此程序编译失败,因为A接口中并未定义func()方法。
============================================================
class Super
{
int i=0;
public Super(String a)
{
System.out.println("A");
i=1;
}
public Super()
{
System.out.println("B");
i+=2;
}
}
class Demodemo10 extends Super
{
public Demodemo10(String a)
{
//super();
System.out.println("C");
i=5;
}
public static void main(String[] args)
{
int i=4;
Super d=new Demodemo10("A");
System.out.println(d.i);
}
}
//此程序运行结果是B C 5
//运行主函数时,new Demodemo10时,对象中i=0;因为继承了Super类
//执行子类Demodemo10的构造函数,但是构造函数第一行都有隐式语句super();
//所以执行到super();时 跳到Super类中的无参数的构造函数中,System.out.println("B");,此时i=2.
//super()执行完,执行System.out.println("C"); 5赋值给i;
//所以最后打印B C 5
==============================================================================================
class Demo
{
int show(int a,int b){return 0;}
}
下面哪些函数可以存在于Demo的((子类))中。
A.public int show(int a,int b){return 0;}//可以,因为覆盖;
B.private int show(int a,int b){return 0;}//不可以,因为上面的函数权限是default。
C.private int show(int a,long b){return 0;}//可以,因为此函数和上面的函数不是同一个,不是覆写是重载。
D.public short show(int a,int b){return 0;}//不可以,因为函数名一样返回值不一样是不允许同时存在的。
E.static int show(int a,int b){return 0;}//不可以,因为静态只能覆写静态!
===============================================================================================
写出this关键字的含义,final有哪些特点?
this:代表本类对象,哪个对象调用this所在函数,this就代表哪个对象。
final:
1.修饰类,变量(成员变量,局部变量,静态变量),函数。
2.修饰的类不可以被继承。
3.修饰的函数不可以被覆写。
4.修饰的变量是一个常量,只能赋值一次。
5.内部类只能访问局部中的final修饰变量。
===============================================================================================
interface A
{
void show();
}
interface B
{
void add(int a,int b);
}
class C implements A,B
{
//补足代码
}
class D
{
public static void main(String[] args)
{
C c=new C();
c.add(4,2);
c.show();//通过该函数打印以上两个树的和。
}
}
解----------------------------------------
因为add方法返回的是void,
interface A
{
void show();
}
interface B
{
void add(int a,int b);
}
class C implements A,B
{
//private int a,b;
private int sum;
public void show()
{
//System.out.println(a+b);
System.out.println(sum);
}
public void add(int a,int b)
{
//this.a=a;
//this.b=b;
sum=a+b;
}
}
class Demodemo10
{
public static void main(String[] args)
{
C c=new C();
c.add(4,2);
c.show();
}
}
易错点!!!
最新推荐文章于 2022-04-24 21:12:05 发布