A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1169646761 中级黑马   /  2014-9-3 21:09  /  2565 人查看  /  21 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

多 态★★★★★(面向对象特征之一):函数本身就具备多态性,某一种事物有不同的具体的体现。
体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();
多态的好处:提高了程序的扩展性。
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)
多态的前提:
1:必须要有关系,比如继承、或者实现。
2:通常会有覆盖操作。  

匿名内部类:没有名字的内部类。就是内部类的简化形式。一般只用一次就可以用
这种形式。匿名内部类其实就是一个匿名子类对象。想要定义匿名内部类:需要前提,内部类必须继承一个类或者实现接口。
匿名内部类的格式:new 父类名&接口名(){ 定义子类成员或者覆盖父类方法 }.方法。
匿名内部类的使用场景:
当函数的参数是接口类型引用时,如果接口中的方法不超过3个。可以通过匿名内部类来完成参数的传递。
其实就是在创建匿名内部类时,该类中的封装的方法不要过多,最好两个或者两个以内。  

异 常:★★★  
异常处理原则:功能抛出几个异常,功能调用如果进行try处理,需要与之对应的catch处理代码块,这样的处理有针对性,抛几个就处理几个。
特殊情况:try对应多个catch时,如果有父类的catch语句块,一定要放在下面。
throw 和throws关键字的区别:
throw用于抛出异常对象,后面跟的是异常对象;throw用在函数内。
throws用于抛出异常类,后面跟的异常类名,可以跟多个,用逗号隔开。throws用在函数上。
《》《》《》《》《》《》《》《》《》《》
package iexame.com;

public class Test6 {

        /**
         * @param args
         * 定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,
         * 并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。
         */
       
                // TODO Auto-generated method stub

                private int num=34;
                private void show(){
                                System.out.println("外部函数");
                                }
                                class Inner
                                {
                                        private int num=45;
                                        private void show1(){
                                                System.out.println("内部函数"+num);
                                        System.out.println("外部成员变量num="+Test6.this .num);
                                        show();
                                        }
                                       
                                }
                                void fun(){
                                        Inner iner=new Inner();
                                        iner.show1();
                                        }

                                public static void main(String[] args){
                                Test6 T=new Test6();
                                T.fun();
                        }
       
        }

评分

参与人数 1技术分 +1 收起 理由
天黑偷牛 + 1 很给力!

查看全部评分

21 个回复

倒序浏览
学习一下
回复 使用道具 举报
同感,学习下........
回复 使用道具 举报
多谢楼主
回复 使用道具 举报
许愿じ☆VE杰 来自手机 中级黑马 2014-9-3 22:41:01
报纸
收藏,以后看
回复 使用道具 举报
学习一下
回复 使用道具 举报
梧桐树下 来自手机 中级黑马 2014-9-3 23:11:06
7#
这么多啊
回复 使用道具 举报
MeryStyle 来自手机 中级黑马 2014-9-3 23:17:32
8#
多谢楼主!
回复 使用道具 举报
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法

编译时不能访问子类方法,运行时还是访问子类的非静态方法的吧
回复 使用道具 举报
面向接口编程
回复 使用道具 举报
谢分享!!
回复 使用道具 举报
学习一下
回复 使用道具 举报
怒赞一个,学习了
回复 使用道具 举报
学习一下
回复 使用道具 举报
也来   学习学习
回复 使用道具 举报
学习了 ...Thanks
回复 使用道具 举报
复习一下:D
回复 使用道具 举报
谢谢楼主的分享
回复 使用道具 举报
总结的不错,支持一个  
回复 使用道具 举报
基础里的吧
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马