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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



1.面向对象的思想:
        1).基于"面向过程的";
        2).当所要处理的数据量越来越大时,原来C语言明显支持的不够。
        3).所以才出现了面向对象的编程语言;
2.面向对象的开发流程:
        1).面向对象的分析;抽取出需要记录的"类"。一般是名词;
        2).面向对象的设计:进一步完善每个类中属性和行为,以及类和类之间的关系;
        3).面向对象的编程:写代码;
3.怎样面向对象编程:
        1).定义类;class 类名{
                   }
        2).类中只能是一些定义语句:例如:定义成员属性和成员方法;
                   class 类名{
                        //1.成员属性:[访问修饰符] 数据类型  变量名
                        private String stuName;
                        //2.成员方法:[访问修饰符] 返回值类型 方法名(形参列表)
                        void show(){
                        }
                        //不允许有其它打印、循环、判断等一些语句;
                //        System.out.println(stuName);

                   }
        3).类中的"成员方法"可以访问自己的"成员属性":
                  class Student{
                        String stuName;
                        void show(){
                                System.out.println("大家好,我叫:" + stuName);
                        }
                  }
                  main(){
                        Student stu = new Student();
                        stu.stuName = "张三";
                        stu.show();//大家好,我叫:张三
                  }
4.类的实例化:
        1).格式:类名 变量名 = new 类名();
           new关键字,将会在内存中产生一个此类的对象;
        2).当在内存中产生类对象后:
           A.对于成员变量会自动初始化:
                整数:0
                浮点:0.0
                ...

           B.成员方法,会在"方法区"开辟空间,存储方法的字节码。
        3).对于非静态的成员属性和成员方法,必须要先实例化此类对象,之后才能调用。
5.成员变量和局部变量的区别:
        1).在类中的位置不同:
                成员变量:在类体中;
                局部变量:在方法或某个其它代码块中;
        2).在内存中的位置不同:
                成员变量:堆空间
                局部变量:栈空间
        3).生命周期不同:
                成员变量:一旦所在作用域消失后,堆空间不会立即清除,会成为垃圾,后期由垃圾回收器不定期回收;
                局部变量:当所在作用域消失后,栈空间会立即清除;
        4).初始化值不同:
                成员变量:自动分配初始化值;
                局部变量:必须手动显示的赋初始值,才能访问。
6.方法的形参是"类名"的时候:
        1).方法的形参可以是基本数据类型也可以是引用数据类型;
        2).如果方法的形参是一个类名时:
                意味着它接收的是此类对象的引用
        3).调用时,一定要传递一个"引用"过去。
7.匿名对象:
        1).没有名字的对象;new 类名();
        2).因为匿名对象没有名字,所以只能使用一次;
        3).一般在如果只需要使用此对象一次时,可以使用匿名对象的方式;
                class MyMath{
                        double getPI(){
                                return 3.14159;
                        }
                }
                class Demo{
                        main(){
                        //        MyMath m = new MyMath();
                        //        double pi = m.getPI();
                                //使用匿名对象
                                double pi = new MyMath().getPI();

                        }
                }
8.封装:
        1).当我们的类的属性直接对外暴露时,是十分不安全的:
        2).此时我们可以将"成员属性"进行"私有化";
           一个类中的"成员属性"或"成员方法"被私有化后,意味着它们只能在此类的内部被访问。其它类是无法访问到的。
        3).之后要提供get或set方法读取属性值或属性设置属性值;
        4).另外,也可以将一些"成员方法"进行私有化,意味着外部不能访问私有化的方法:
                例如:class 汽车厂{
                        private void 生产方向盘(){
                        }
                        private void 生产车架(){
                        }
                        private void 生产底盘(){
                        }
                        private void 生产发动机(){
                        }
                        ...
                        汽车 组装整车(){
                                生产方向盘();
                                生产车架();
                                生产底盘();
                                生产发动机();
                                ...
                                return 汽车;
                        }
                      }
9.private关键字:
        1).是一种"访问修饰符"。
        2).在Java中访问修饰符一共有4个:private,(默认),protected,public
        3).这种访问修饰符可以修饰"成员属性"和"成员方法";
        4).被private修饰后的成员属性或成员方法意味着只能在此类的内部被访问,在
           其它类中无法访问;

19 个回复

倒序浏览
路过看看,加油~
回复 使用道具 举报
嘎嘎鸭子 来自手机 中级黑马 2015-5-21 18:24:58
藤椅
这些都是些比较文字性东西,单存记住很难,还是要理解面向对象核心
回复 使用道具 举报
总结的不错。。。。。。
回复 使用道具 举报
感谢分享
回复 使用道具 举报
面向对象是一种思想  重在理解
回复 使用道具 举报
给力,感谢楼主
回复 使用道具 举报
感谢分享,学习了
回复 使用道具 举报
Melo 中级黑马 2015-5-21 22:17:31
9#
总结的不错啊
回复 使用道具 举报
学习了:victory:
回复 使用道具 举报
总结得不错,加油!!!
回复 使用道具 举报
Lucus 中级黑马 2015-5-21 23:35:13
12#
感谢分享,学习了!!!
回复 使用道具 举报
总结的很好 ,学习学习
回复 使用道具 举报
好东西呀!!!!
回复 使用道具 举报
求抱大神!膜拜!
回复 使用道具 举报
膜拜大神!求大腿!
回复 使用道具 举报
加油加油!!!
回复 使用道具 举报
总结不错
回复 使用道具 举报
谢谢楼主的总结 非常有用
回复 使用道具 举报
真的学得好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马