j2ee(2) 面向对象 上

1.类的封装
    *在定义一个类时,将类中的属性私有化,即使用prviate关键字来修饰,私有属性只能在它所在的类中被访问。为了能让外界访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取属性值的getXxx()方法和设置属性值的setXxx()方法。

    class Student {
        private String name; //将name 属性私有化
        private int age;     //将 age 属性私有化

        //下面是公有的getXxx() 和 setXxx()方法。
        public String getName(){
            return name;
        }

        public void setName(String stuName){
            name = stuName;
        }

        public int getAge(){
            return age;
        }

        public void setAge(int stuAge){

            //对传入的参数进行检查
            if(stuAge <= 0 ){
                System.out.println("年龄不合法.......");
            }else{
                age = stuAge;
            }

        }

        public void introduce(){
            System.out.println("大家好,我叫"+ name + ",我今年"+ age + "岁!");
        }
    }

    public class ExampleTest{
        public static void main(String[] args){
            Student stu = new Student();
            stu.setAge(-30);
            stu.setName("liming");
        }
    }

2.this 关键字
    * 通过 this 关键字可以明确地去访问一个类的成员变量,解决与局部变量名称冲突问题。

        class Person{
            int age;
            public Person(int age){
                this.age = age;
            }

            public int getAge(){
                return this.age;
            }
        }

    * 通过 this 关键字调用成员方法

        class Person{
            public void openMonth(){
                .....
            }

            public void speak(){
                this.openMonth();
            }
        }    

    * 构造方法是在实例化对象时被java虚拟机自动调用的,在程序中不能像调用其他方法一样去调用构造方法,但可以在一个构造方法中使用this关键字的形式来调用其他构造方法

        class Person{

            public Person(){
                System.out.println("无参构造方法被调用了......");
            }

            public Person(String name){

                this();
                System.out.println("有参构造方法被调用了......");
            }
        }

        public class ExampleTest{
            public static void main (String[] args){
                //实例化Person对象
                Person p = new Person("itcast");
            }
        }    

    * 在使用this调用类的构造方法时,应该注意以下两点
        1.只能在构造方法中使用this调用其他的构造方法,不能在成员方法中使用
        2.在构造方法中,使用this调用构造方法的语句必须放在第一行,且只能出现一次。

            public Person(){
                String name = "小名";
                this(name);  //由于不在第一行,编译错误
            }    

3.static 关键字

    * 静态变量,在一个java类中,可以使用 static 关键字来修饰成员变量,该变量被称作静态变量。静态变量被所有实例共享,可以使用"类名.变量名"的形式来访问。

        class Student{
            static String schoolName; //定义静态变量
        }

        public class ExampleTest{
            public static void main(String[] args){
                Student stu1 = new Student();
                Student stu2 = new Student();

                Student.schoolName = "阳明圣院";     //为静态变量赋值
                System.out.println("我的学校是"+stu1.schoolName);
                System.out.println("我的学校是"+stu2.schoolName);
            }

        }

        注意:static关键字只能用于修饰成员变量,不能用于修饰局部变量

    * 静态方法 ,在一个java类中,方法前有 static 关键字修饰,我们称这种方法为静态方法。不需要创建类即可访问,访问方式"类名.方法名"。

        class Person{
            public static void sayHello(){        //定义静态方法
                System.out.println("hello");
            }
        }    

        class ExampleTest{

            public static void main(String[] args){
                Person.sayHello();
            }
        }
        注意:在一个静态方法中只能访问用static修饰的成员,原因在于没有被static修饰的成员需要先创建对象才能访问。

    * 静态代码块,用 static 关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块会执行,由于类只加载一次,因此静态代码块之执行一次。

4.单例模式
    * 单例模式是java中的一种设计模式,它是指在设计一个类时,需要保证在整个程序运行期间针对该类只存在一个实例对象。

        class Single{
            //自己创建一个对象
            private static Single INSTANCE = new Single();
            println Single(){}                                //私有化的构造方法
            public static Single getInstance(){                  //提供返回对象的静态方法
                return INSTANCE;
            }
        }

    * 单例模式具备如下特点
        1.类的构造方法使用private修饰,声明为私有,这样就不能在类的外部使用new关键字来创建对象了
        2.在类的内部创建了一个该类的实例对象,并使用静态变量INSTANCE引用该对象,由于变量应该禁止外界直接访问,因此使用private声明为私有成员
        3.为了让类的外部能够获得类的实例对象,定义了一个静态方法getInstance(),用于返回该类实例INSTANCE.外界可以通过" Single.getInstance() "来获取该实例
时间: 2024-10-12 09:00:13

j2ee(2) 面向对象 上的相关文章

java之面向对象---上

1:值类型 八大类型:整性—>byte(1字节),short(2字节),int(4字节),long(8字节): 浮点数—>float(4字节)--8位整,23位小数,1位符号:double(8字节)--11位整数,52位小数,1位符号 字符—>char(2字节)---汉语的原因吧 逻辑型—>bool(1bit) 其它数据类型:类类型. 存储方式:8大类型变量存储于栈中:是值类型 类类型变量,是引用类型,对象存放于堆中,在栈中存引用值,大小固定为4字节. 只能通过new来构造对象,不

Java和C#在面向对象上语法的区别

做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材有了一遍系统深入的学习.虽然教的和学的都很肤浅,但是为了帮助学生们理解,然后自己也会思考为什么会这样?这种来自于最基础的思考,一直向上反馈,发现这种思考原来可以令自己进步的非常快.虽然目前还在思考入门阶段的问题,已经受益良多了.那么如果把之前的开发中的问题都思考一遍,又能收获多少能?写写博客吧,一直

第04章(面向对象——上)

1 /***************** 2 ***第四章面向对象(上) 3 *******知识点: 4 **************1.类和对象 5 ******************1.1 关键字 6 ******************1.2 定义 7 ******************1.3 使用 8 **************2.方法和属性 9 ******************2.1 关键字 10 ******************2.2 方法重载和重写 11 ******

黑马程序员-Java面向对象上《二》

                         ------- android培训.java培训.期待与您交流! ---------- 1.面向对象的设计思想  面向过程:是以一个流程为单位,考虑它的实现方法,关心的是它的功能实现. 面向对象:是以具体事物为单位,考虑它的属性(特征)和动作(行为). 2.面向对象思考问题的方式 有哪些对象? 对象有什么特征和功能? 对象之间的关系? 3.类和对象 3.1,面向对象的编程思想:是力图使计算机语言中对事物的描述尽可能的与现实中的该事物的本来面目一致

Java编程基础-面向对象(上)

一.面向对象的概念 1.概念:面向对象是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能.这样当应用程序功能发生变动时,只需要修改个别对象就可以了,从而使代码更容易得到维护.面向对象强调的是对象,它使复杂的内容简单化了,让我们从执行者变成了指挥者. 2.特点:面向对象的特点概括起来就是继承性.封装性和多态性. 3. 封装性:封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界

面向对象-上

面向对象 面向对象是一种编程思想,同面向过程一样也是封装,但是不一样的是面向对象的封装依据主体,也就是说每一个封装包代表一个主体,而其中的变量值为主体的属性,函数为主体实现其功能的方法. 基本格式: class 类名{属性(变量),方法(函数)}; var_dump(对象)   只能打印出对象的非静态属性   无法打印出静态属性.类常量 1.使用class来定义类名 2.定义属性跟定义变量一样,方法跟函数一样   2.1属性和方法的声明有三种模式:public | protected | pri

Python 面向对象(上)

一. 什么是面向对象? 1. 在了解面向对象之前,首先我们需要知道两个概念:(1)什么是函数?函数是对功能或动作的一种封装.函数的语法结构如下: def func(arg1): '''函数的内部有函数体''' print("这里是函数内部") func(arg2) 上面的结构中, func是函数名, arg1是形参, 在函数的内部是函数体. 在定义了函数以后, 我们只需要在下面 用函数名接上一个小括号( func() ) 就可以调用函数了, 小括号内部的 arg2 表示实参. (2)什

第七章:Python基础のXML操作和面向对象(上集)

本課主題 XML介绍和操作实战 shutil 模块介绍和操作实战 subprocess 模块介绍和操作实战 XML介绍和操作实战 對於浏览器返回的字符串有以下幾種: HTML JSON,表现是列表和字典的格式 XML XML的應用 一个属性里包含多过属性,一类是页面上做展示的时候可以用到XML,就是为别人来调用(这也是字符串类型的一个XML格式数据);另外一类是配置文件.你可以從文件裡打開一個XML文件,它返回的是一個XML形式的字符串:也可以通過發送 HTTP請求,返回一個 XML 形式的字符

Eclipse for J2EE+tomcat配置上的一些问题

之前下载了一个eclipse基础版本,学习之前没有什么感觉不方便的地方,方式学习到web编程时,就出现问题了,因为不支持创建web项目. 于是下载了一个Eclipse for J2EE版本的工具,但是问题又来了,这里面配置tomcat比较麻烦,所以建议大家使用myeclipse. 现在列举下我出现的问题: 1.Can't load IA 32-bit .dll on a AMD 64-bit platform: 这个问题本明确了,是需要下载一个64位版本的tcnative-1.dll ,替换 \