zoukankan      html  css  js  c++  java
  • JAVA面向对象程序设计(第二版) 袁绍欣 第五章答案

    1.面向对象的主要特征是什么?

    封装、继承、多态

    2.封装是如何实现的?

    封装通过访问控制符实现的,只有通过授权才能访问数据。

    3.对象之间如何相互作用?作用的条件是什么?

    通过消息,拥有访问类数据成员或成员方法的权限。

    4.protected修饰符的特点?

    只有包内其它类、自己和子类可以访问。

    5.Object都有哪些方法?

    Object clone() //克隆对象
    
    boolean equals() //判断两个引用是否指向同一个对象
    
    void finalize() //释放对象
    
    int hashCode() //获得代表对象特有的 hashcode 整数
    
    String toString() //代表对象的字符串
    
    void notify() //线程同步中唤醒等待线程
    
    void wait()//线程同步中线程等待
    

    6.重载的方法之间一般有什么关系?

    方法名相同,而参数不同。返回类型可以相同也可以不同。

    7.子类覆盖父类方法需要什么条件?子类中定义与父类同名的方法一定是覆盖吗?

    方法名,参数,返回类型全部相同,内容不同。不一定

    8.封装、继承和多态在面向对象设计中的用途是什么?

    封装可以保护类的数据成员,隐藏信息。

    子类继承父类的属性和方法后,不用重新编写代码,提高了代码复用性。

    多态最重要的是子类的功能可以被父类的引用调用,向后兼容。

    9.设计Src和Dis两个类,Src中有一个被封装的属性,类型类 int ,每当通过特定方法更改Src对象中的这个属性后,Dis对象都能得到通知,并向Src发消息获得此属性值。

    public class Src{
    	int num;
    	Dis dis;
    	
    	Src(int n){
    		if(n>0)
    		num = n;
    	}
    	
    	void SetDis(Dis d){
    		dis = d;
    	}
    	
    	void Change(int n){
    		if(n>0&&n!=num) 
    		{
    			num = n;
    			dis.print();
    		}
    	}
    	
    	int getNum(){
    		return num;
    	}
    	
    	public static void main(String[] args) {
    		Src src = new Src(1);
    		Dis dis = new Dis(src);
    		src.SetDis(dis);
    
    		for(int i=0;i<5;i++)
    		{
    			src.Change(i);
    		}
    	}
    }
    public class Dis{
    	Src src;
    	Dis(Src s){
    		src = s;
    	}
    	void print(){
    		System.out.println("num被改变为:"+src.getNum());
    	}
    }
    
    /*
    结果:
    num被改变为:2
    num被改变为:3
    num被改变为:4
    */
    
  • 相关阅读:
    分析Android中View的工作流程
    什么是分布式锁及正确使用redis实现分布式锁
    机器学习
    吴裕雄--天生自然诗经学习笔记 :醉蓬莱·渐亭皋叶下
    吴裕雄--天生自然诗经学习笔记 :节节高·题洞庭鹿角庙壁
    吴裕雄--天生自然诗经学习笔记 :浪淘沙
    吴裕雄--天生自然诗经学习笔记 :陇头歌辞三首
    吴裕雄--天生自然诗经学习笔记 :贾人食言
    吴裕雄--天生自然诗经学习笔记 :早秋三首
    吴裕雄--天生自然诗经学习笔记 :长相思·惜梅
  • 原文地址:https://www.cnblogs.com/lyc1226/p/10661425.html
Copyright © 2011-2022 走看看