黑马程序员技术交流社区

标题: Java--封装-----例子加知识点整理 !!! [打印本页]

作者: {黑马}    时间: 2015-8-14 00:14
标题: Java--封装-----例子加知识点整理 !!!
/**
* 这是一个学生类
*/
class Student{
        /*
        成员变量都用private修饰
        被private修饰的成员变量只能在本类中使用,不能被其他类直接调用
        */
        private String name;
        private int age;
        /*
        static可以修饰成员变量和成员方法
        静态的特点:
                A:随着类的加载而加载
                B:优先于对象存在
                C:被类的所有对象共享
                D:可以通过类名调用
        被static修饰的变量,只能被静态方法调用;并且被所有对象所共享
        */
        private static char sex = '女';

        //代码块
        {
                System.out.println(name+"***"+age+"***"+sex);
                name = "张曼玉";
                age = 18;
                System.out.println(name+"***"+age+"***"+sex);
        }
        //构造方法
        public Student(){
                //System.out.println(name+"***"+age+"***"+sex);
        }
        //构造方法的重载
        public Student(String name,int age,char sex){
                /*
                this关键字定义在方法中,那个对象调用该方法,this就代表谁!
                除了静态方法外,所有的方法中都有隐含的有一个this引用
                */
                this.name = name;
                this.age = age;
                this.sex = sex;
                //System.out.println(name+"***"+age+"***"+sex);
        }
        //学生学习的方法
        public void study(){
                System.out.println(name+"***"+sex+"***"+age);
        }
        /*
          学生展示的方法
          静态方法:静态方法是随着类的加载而加载的,调用时用类名.方法名调用
        */
        public static void show(){
                //System.out.println(name+"****"+sex);
                System.out.println(sex);
        }

        public String getName(){
                return name;
        }
        public void setName(String name){
                this.name = name;
        }
        public int getAge(){
                return age;
        }
        public void setAge(int age){
                this.age = age;
        }
        public char getSex(){
                return sex;
        }
        public void setSex(char sex){
                this.sex = sex;
        }
}
/**
* 这是测试类
*/
class StudentTest{
        public static void main(String[] args){
                //创建一个学生类的对象
                Student s = new Student();
                s.setName("林青霞");
                s.setAge(26);
                s.study();
                /*
                  静态方法推荐使用类名.方法名
                  实际开发中,静态方法都是类名.方法名调用;
                  因为被static修饰的成员变量或成员方法是随着类的加载而加载的,是类的一部分;
                */
                Student.show();
        }
}


捕获.PNG (47.14 KB, 下载次数: 5)

运行结果

运行结果

捕获1.PNG (108.99 KB, 下载次数: 2)

创建一个对象时,在内存中的做的事情

创建一个对象时,在内存中的做的事情

作者: 巧克黑力    时间: 2015-8-14 00:23
好长,睡觉
作者: {黑马}    时间: 2015-8-14 21:10
巧克黑力 发表于 2015-8-14 00:23
好长,睡觉

睡觉
作者: 阮文江    时间: 2015-8-14 21:21
好长,不过看完了,谢了
作者: {黑马}    时间: 2015-8-15 22:28
阮文江 发表于 2015-8-14 21:21
好长,不过看完了,谢了

谢谢参观




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2