java小结之练习

1,写出程序结果
class Demo{
public static void function(){
try{
throw new Exception();
}
finally{
System.out.println("B");
}
}
public static void main(String[] args){
try{
function();
System.out.println("A");
}
catch(Exception e){
System.out.println("C");
}
System.out.println("D");
}
}


编译失败:
function删申明了该异常,结果是B  C D


class Test{
Test (){
System.out.println("Test");
}
}


class Demo extends Test {


Demo (){
//super();
System.out.println("Demo");
}
public static void main(String[] args) {
new Demo();
new Test();
}
}




//
Test
Demo
Test


interface A{}
class B implements A{
public  String  function(){
return "function";
}
}
class Demo{
public static void main(String[] args) {
A a=new B();
System.out.println(a.function());
}
}
bian一失败 a中没有 function()


class Fu{
boolean show(char a){
System.out.println(a);
return true;
}
}
class Demo extends Fu{
public static void main(String[] args) {
int i=0;
Fu f=new Demo();
Demo d=new Demo();
for(f.show('A' ); f.show('B') && (i<2); f.show('C')){
i++;
d.show('D');
}
System.out.println(a.function());
}
boolean show(char a){
System.out.println(a);
return false;
}
}
A B //Fu f=new Demo();  f.show('A' ); 编译看父类,运行看子类


interface A{}
class Bimplements A{
public  String  test(){
return "yes";
}
}
class Demo{
static A get(){
return new B();
}
public static void main(String[] args) {
A a=get();
System.out.println(a.test());
}
}
编译失败


class Super{
int i=0;
public Super(String a){
System.out.println("A");
i=1;
}
public Super(){
System.out.println("B");
i+=2;
}
}
class Demo extends Super{
public Demo(String a){
System.out.println("C");
i=5;
}
public static void main(String[] args) {
int i=4;
Super d=new Demo("A");
System.out.println(d.i);
}

}
B
C
5


interface Inter{
void show(int a,int b);
void func();
}
class Demo{
public static void main(String[] args) {
//补足代码,调用两个函数,要求用匿名内部类

}
}


Inter inter= new Inter()
{
public void show(int a,int b){

}
public void func(){

}
};
inter.show(4,5);
inter.func();




class TD{
int y=6;
class Inner{
static int y=3;
void show(){
System.out.println(y);
}
}
}
class TC{
public static void main(String[] args) {
TD.Inner ti= new TD().new Inner();
ti.show();

}
}


编译失败




选择题,写出错误答案错误的原因,用单行注释的方式
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;}//
C,private int show(int a,long b) {return 0;}//
D,public short show(int a,long b) {return 0;}//
E,static int show(int a,long b) {return 0;}//


A,可以,覆盖
B,不可以,权限不够
C,可以,和父类非同一函数
D,不可以
E,不可以,静态




写出this关键字的含义,final有哪些特点?
this :带白哦本类对象,当前对象
final 
修饰类,变量(成员变量,谨防太变量,局部变量),函数








写出程序结果:
class Fu{
int num=4;
void show(){
System.out.println("showfu");
}
}
class Zi extends Fu{
int num =5;
void show(){
System.out.println("showzi");

}


class T {
public static void main(String[] args) {

Fu f=new Zi();
Zi z=new Zi();

System.out.println(f.num);
System.out.println(z.num);
f.show();
z.show();
}

}
//成员变量不存在覆盖
4
5
showzi
showzi


12...
interface A{
void show();
}
interface A{
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();//通过该函数打印以上两个数的和
}
}
答案:
private  int a, b;
public void add(int a,int b){
this.a=a;
this.b=b;
}
public void show(){
System.out.println(a+b);
}






13,写出程序结果
class Demo{
public static void main(String[] args) {

try{
showExe();
System.out.println("A");
}
catch(Exception e){
System.out.println("B");
}
finally{
System.out.println("C");
}
System.out.println("D");
}
public static void showExe() throws Exception{
throw new Exception();
}
}




B
C
D


蟹醋程序结果
class Super{
int i=0;

public Super(String s){
i=1;
}
}
class Demo extends Super{


public Demo(String s){
i=2;

}
public static void main(String [] args){
Demo d=new Demo("yes");
System.out.println(d.i);
}
}


编译失败


class Super{


public int get(){
return 4;
}
}


class Demo15 extends Super{


public long get(){
return 5;

}
public static void main(String [] args){
Super s=new Demo15();
System.out.println(s.get());
}
}


编译失败,因为子父类中get方法没有覆盖,子类调用时不能明确返回的值类型是什么?






class Demo{
public static void func(String[] args) {

try{
throw new Exception();
System.out.println("A");
}
catch(Exception e){
System.out.println("B");
}


}

public static void main(String[] args) {

try{
func();

}
catch(Exception e){
System.out.println("C");
}

System.out.println("D");
}





}
编译失败 ,和13题进行对比




17,判断下面四个选项是否正确,并阐述理由
class Demo{
public  void func(String[] args) {

//位置1;
}
class Inner{
}
public static void main(String[] args) {

Demo d=new Demo();
//位置2;
}
}
A,在位置1写new Inner();
B,在位置2写new Inner();
C,在位置2写new d.Inner();
D,在位置2写new Demo.Inner();


A,正确,其他错误


18,写出程序结果
class Exc0 extends Exception{}


class Exc1 extends Exc0{}
class Demo{
public static void main(String[] args) {

try{
throw new Exc1();
}
catch(Exception e){
System.out.println("Exception");
}
catch(Exc0 e){
System.out.println("Exc0");
}


}
}
编译失败




19,
interface Test{
void func();
}
class Demo{
public static void main(String[] args) {
//补足代码,匿名内部类

}
void main(Test t) {
t.func();
}
}




new Demo().show(new Test(){
public void func(){}
});


20,写出程序结果


class Test{
public static String output="";
public static void foo(int i){
try{
if(i==1) 
throw new Exception();
output+="1";
}
catch(Exception e){
output+="2";
return;
}

finally{
output+="3";
}
output+="4";
}
public static void main(String[] args) {
foo(0);
System.out.println(output);
foo(1);
System.out.println(output);
}
}


134
13423




21,建立一个图形接口,声明一个面积函数.圆形和矩形都实现这个接口,并得出两个图形的面积
注:体现面向对象的特征面对数值进行判断,用异常处理,不合法的数值要出现"这个数值是非法的"的提示,不在进行运算.




class Circle{
private static double pi=3.14;
private  double radius;
public Circle(double r){
radius=r;
}
public static double compare(Circle [] cir){
//程序代码
}
}
class TC{
public static void main(String [] args){
Circle cir[] =new Circle[3];
cir[0] =new cir(1.0);
cir[1] =new cir(2.0);
cir[2] =new cir(4.0);
System.out.println("最大的半径值是:"+Circle.compare(cir));
}
}


答案:
int max=0;
for(int x=1;x<cir.length;x++){
if(cir[x].radius>cir[max].radius){
max=x;

}

}
return cir[max].radius;






23写出程序结果
public class Demo{


private  static int j=0;
private static boolean mothodB(int k){
j+=k;
return true;
}
public static void mothodA(int i){
boolean b;
b=i<10 | methodB(4);
b=i<10 ||  methodB(8);

}
public static void main(String [] args){
methodA(0);
System.out.println(j);
}

}


24,加入我们在开发一个系统时需要对员工进行建模,员工包含3个属性:
姓名,工号以及公子.经理也是员工,除了含有员工的属性外,还有一个奖金属性.请使用继承的思想设计出员工类和经理类
要求类中提供必要的方法进行属性访问






25,在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,
如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),
否则,返回-1.要搜索的字符数组和字符都以参数形式传递给该方法,
如果传入的数组为null,应抛出IllegalArgumentException异常
在类的main方法中以各种可能出现的情况测试验证该法官法编写的是否正确,
例如,字符不存在,字符存在,传入的数组为null等.
public int getIndex (char [] arr ,char key){
if(arr==null){

throw new IllegalArgumentException("arr ==null");
}
for(int x=0;x<arr.length;x++){
if(arr[x]==key){
return x;
}
}
return -1;
}


26,补足compare函数内的代码,不许添加其他函数.
class Circle{
private double radius;
public Circle(double r){
radius=r;

}
public Circle compare(Circle cir){
//程序代码
}

}


class TC{
public static void main(String [] args){
Circle cir1=new Circle(1.0);
Circle cir2=new Circle(2.0);
Circle cir;
cir=cir1.compare(cir2);
if(cir1==cir){
System.out.println("圆1的半径比较大");

}else{
System.out.println("圆2的半径比较大");
}
}
}
return (this.radius>=cir.radius)? this:cir















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值