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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        面向对象二:
1.封装:就是指隐藏对象的属性和实现细节,仅对外提供公共访问方式(写set和get方法提供给外界,提高访问数据的安全性)
       
        private :是一个关键字用于修饰成员变量和成员方法(还可以修饰内部类),被私有化的成员只在本类中使用,不能被其他类直接访问。

        private仅仅是封装的一种体现,类也是一种体现。
        JavaBean---简单的描述类

2.构造方法:
        格式及其特点:方法名和类名一致
                没有返回值类型
                没有具体的返回值
        作用:给对象进行初始化
        注意事项:
                如果你没有给出构造方法系统给出一个默认的无参数构造方法
                如果你给了一个构造方法,系统将不再提供的默认无参构造
                        建议永远给出一个无参的构造方法
                构造方法的重载
        给成员变量赋值方法:
                set方法
                构造方法

3.this关键字:
        this代表其所在方法所属对象的引用
        哪个对象调用方法,在方法内部就有一个隐含的this代表这个对象
       
        应用场景:用于解决局部变量隐藏成员变量值得问他
                用于构造方法中

4.代码块:
        由{}括起来的代码
        分类:
                定义在方法中的代码块叫局部代码块,作用就是让变量早点从内存中消失,即控制变量的生命周期
       
                定义在方法外的代码块,叫构造代码块,作用把所有构造方法中公共的部分提取出来放在构造代码块中,减少代码的重复率
                        执行特点:每次创建对象都执行,而且是优先于构造方法

5.对象的初始化过程:
        成员变量默认初始化----显示值替代默认值---构造代码块---构造方法执行
        附代码解释:
class Person
{
        private String name="haha";
        private int age=10;
        //代码块
        {
                System.out.println(name+"--"+age);//haha 10
                name="hehe";
                age=20;
                System.out.println(name+"--"+age);//hehe 20
        }
        public Person(){
        //无参数构造
        }
        public Person(String name,int age){
        //带参数的构造
                System.out.println(this.name+"--"+this.age);//hehe 20带this就是调用成员变量
                System.out.println(name+"--"+age);//heihei 30   没有带this就是局部变量
                this.name=name;
                this.age=age;
                System.out.println(name+"--"+age);//heihei 30   赋值后成员变量发生改变
        }
        public void setName(String name){
                this.name=name;
        }
        public String getName(){
                return name;
        }
        public void setAge(int age){
                this.age=age;
        }
        public int getAge(){
                return age;
        }

}
class PersonTest
{
        public static void main(String[] arge){
                Person p=new Person("heihei",30);
                System.out.println(p.getName()+"--"+p.getAge());//heihei 30
        }
}
       
6.static关键字
        static可以修饰成员变量成员方法;
        被类的所有对象共享;
        随着类的加载而加载;
        优先于对象存在;
        可以直接被类容调用  格式:类名.方法();
        总结:某个内容被所有对象共享,那么,该内容就应该用静态修饰,没有被静态修饰的内容,其实是属于对象特殊属性.


        类的组成:
                成员变量:属性  类变量:被static修饰的成员变量
                                实例变量:没有被static修饰的成员变量
                构造方法:初始化
                成员方法:功能或者行为

        注意事项:在静态方法中是没有this关键字的因为静态是随着类的加载而加载,而this是对象创建才存在
                静态方法只能访问静态成员变量和静态成员方法,(非静态方法可以调用静态方法也可以调用非静态方法)。
                静态的内容可以通过对象调用也可以使用类名调用,推荐使用类名调用

7.如何制作说明书:
                /**
                *@author luzhiquan
        头文件        *@version V1.0
                *
                */
       
                /**                                                                                                                                               
        方法        *@param int[]
                *@return int
                */

        帮助文档的生成:DOS 命令下的代码:javadoc -d doc(存放的路径) -author -version ArrayTools.java

        生成CHM文档也可以。

8.API文档的注意事项:
        如果是继承java.lang的就不需要导包
        先查找构造方法:有构造方法就通过构造方法创建对象使用
                        没有构造方法就说明这个类的成员一般是静态通过类名调用
        查看时候:左边:是否静态
                          是否有明确返回值
                  右边:看方法名
                          看参数的类型
       
        字段------成员变量-------属性   格式:静态就是类名.变量;非静态就是创建对象调用

9.学习查看math类:
        random的用法(猜数字游戏):
                double d=Math.random();
                int number=(int)(d*100)+1;1—100之间

                合起来写:(int)(Math.random()*100)+1;

        注意事项:用while循环猜,break跳出。














14 个回复

倒序浏览
好吧  表示我又复习一下
回复 使用道具 举报
看一遍 楼主的帖子 在预习一下  听说面向对象很难啊
回复 使用道具 举报
lsunshine 发表于 2015-7-11 21:22
好吧  表示我又复习一下

那送我黑马币吧,要考黑马可惜分不够
回复 使用道具 举报
鲁枝权双元 发表于 2015-7-11 21:26
那送我黑马币吧,要考黑马可惜分不够

我还在努力中..................................
回复 使用道具 举报
lsunshine 发表于 2015-7-11 21:29
我还在努力中..................................

好吧,感觉你好像够了
回复 使用道具 举报
听说面向对象很难啊
回复 使用道具 举报
做的笔记还不错,继续加油
回复 使用道具 举报
总结的挺全啊
回复 使用道具 举报
复习了,  总结的很好奥
回复 使用道具 举报
笔记挺全的,就是今天上课学的。
复习一遍~
回复 使用道具 举报
zhand 中级黑马 2015-7-11 23:01:15
12#
复习一下 感觉不错
回复 使用道具 举报
读一遍感觉自己对面向对象的思想又更进一步啊
回复 使用道具 举报
听说面向对象好难的。。。
回复 使用道具 举报
还在学,提前认真看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马