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

        面向对象
1.java中参数传递问题:
        基本类型:形式参数的改变对实际参数没有影响。因为函数被调用是进栈,不在使用就消失

        引用类型:形式参数的改变直接影响实际参数   因为函数被调用进栈,但是引用类型存在堆区,
                  指向的地址值,改变了堆区的数据,下次使用时候继续指向地址值。

        注意事项:关键是看传递的是实际值还是地址值。字符串特殊情况

2.面向对象的理解:
        面向过程:以函数为基础,强调是过程即功能行为
        面向对象:以对象为基础,强调的是对象,封装了功能
        面向对象是基于面向过程
        面向对象的思想特点:
                是一种更符合人们思考习惯的思想
                可以将简单的事情简单化
                将程序员从执行者转换为了指挥者
       
3.如何更好的体现面向对象的思想?
        分析系统中的哪些对象
        明确这些对象可以做什么即具备什么功能
        明确对象之间的关系

4.面向对象的特征:
        封装   继承   多态

5.类与对象的关系:
        类:是属性和行为的集合是一种抽象的概念
        成员变量------        属性  定义类中,方法外面
        成员方法------        行为

        对象:就是类的具体的存在和体现


        创建对象:类名 变量名=new 类名();
        调用成员变量:变量名.成员变量名;
        调用成员方法:变量名.成员方法名();

        注意事项:
                如果调用有参数的成员方法就需要注意String 类型的需要带引号
                如果有返回值的成员方法,需要接收返回值,这时候就需要注意返回值的类型。

6.什么时间定义成员变量:
       
        描述事物的属性就应该定义为成员变量,否则就定义为局部变量

7.成员变量和局部变量的区别:
        定义位置区别:
                成员变量:在类中 方法外
                局部变量:在方法中或者方法的形式参数
        初始化值:
                成员变量:有默认初始化值
                局部变量:没有默认初始化值需要赋值
               
        存储位置的区别:
                成员变量:存储在堆,随着对象的存在而存在随着对象的消失而消失
                局部变量:存储在栈中随着方法的调用而存在随着方法调用的完毕而消失

        注意事项:所有的变量使用前都必须进行初始化(这句话是正确的)
                查找变量的顺序:
                        局部变量----成员变量------父类-----报错(就近原则)

8.匿名对象:
        没有名字的对象
        应用场景:
                当对对象方法调用一次时候(有利于内存的优化)
                匿名对象可以作为实际参数进行传递(就是引用类型作为实际参数)


































4 个回复

正序浏览
点赞.................................
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
面向对象就是JAVA的核心啊
回复 使用道具 举报
赞一个哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马