第六章课后题(面向对象下)

this与super的各有几种用法?

this: 表示当前对象的引用,常用于形参或局部变量与类的成员变量同名的情形
表示当前对象
调用当前类的构造方法
super: 访问当前类的直接父类
表示调用父类的构造方法

子类对象实例化的具体过程是什么?

1为子类对象分配内存空间,对域变量进行默认初始化
2绑定构造方法,将new对象中的参数传递给构造方法的形式参数
3调用this或super语句,注意二者必居其一,但不能同时存在
4进行实例变量的显示初始化操作
5执行当前构造方法体中的程序代码

类的域变量和方法中定义的局部变量在初始化上有何区别?

类的域变量在类初始化的时候就开始创建了,而方法中的变量是在调用到该方法时,才会为该变量创建。

模仿形成抽象类的过程,自选角度,形成一个自己的抽象类,并在程序的类继承和引用中体现抽象类的作用

abstract class Animal{
 	 protected int age;
  	   public Animal(int a){
   	    age=a;
    	    }
	abstract public void getage();
}
class dog extends Animal{ 
      public dog(int a){
	  super(a);
	 }
     public void getage(){
        System.out.println("My age is"+age);
 	  }
 	   }
public class test{
 	 public stastic void main(String[] args){
 	  dog d=new dog(10);
 	  d.getage();
	   }
   }


接口有什么用?自己定义一个接口,并给出实现类和使用类

接口相当于一种标准,相当于功能的说明者,使用者按照接口使用,实现者按照接口实现,当实现者内部发生变化时,只要接口不发生变化,使用者就不必要更改其代码。

interface TV{ //接口
	public abstrat void startup();//启动
	public abstrat void turnup();//调高音量
	public abstrat void turndown();//调低音量
	public abstrat void endup();//关闭
}
class Chai implements TV{ //实现类
	public void startup()
		{System.out.println("开机");
	}//启动
	public void turnup()
		{System.out.println("已调高音量");
	}//调高音量
	public void turndown()
		{System.out.println("已调低音量");
	}//调低音量
	public void endup()
		{System.out.println("关机");
	}//关闭
}
public class consumer{//使用类
	public static void main(String[] args){
		TV t=new Chai();
		t.startup();
		t.turnup();
		t,turndown();
		t.endup();
		}
}

抽象类和接口的异同点是什么

| 抽象类| 接口 |
共同点|–二者都具有抽象方法,但都不能实例,|但都可以有自己的声明并能引用子类或实现类对象–|
不同点| 可以有属性变量,成员方法可以有具体方法,必须有子类继承,扩展性弱 | 不能有属性变量,只能由静态常量,如果有成员方法全部为抽象方法,必须有实现类实现,扩展性强 |

引用比较方法有哪些

1 equals方法
2 使用"=="
3 instance of

内部类的作用是什么?什么情况下使用匿名内部类?

1内部类可以直接访问外部类的所有属性,包括修饰符为private的属性或方法
2内部类可以实现多重继承

匿名内部类的使用条件:
1只用到类的一个实例
2类在定义后马上用到
3类非常小

什么是数据隐藏?如何证明子类对父类同名方法进行重新定义,只能是方法的覆盖,而不是方法的隐藏?

在子类对父类的继承中,如果子类的成员变量和父类的成员变量同名,此时称为子类隐藏了父类的成员变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值