• java(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();
                private Single(){}                                //私有化的构造方法
                public static Single getInstance(){                  //提供返回对象的静态方法
                    return INSTANCE;
                }
            }
            
        * 单例模式具备如下特点
            1.类的构造方法使用private修饰,声明为私有,这样就不能在类的外部使用new关键字来创建对象了
            2.在类的内部创建了一个该类的实例对象,并使用静态变量INSTANCE引用该对象,由于变量应该禁止外界直接访问,因此使用private声明为私有成员
            3.为了让类的外部能够获得类的实例对象,定义了一个静态方法getInstance(),用于返回该类实例INSTANCE.外界可以通过" Single.getInstance() "来获取该实例
  • 相关阅读:
    Mac 系统环境变量配置
    sublime3+quick3.5 完整使用教程
    httprunner 2.5.7 下.env 文件环境变量的使用及debugtalk的使用,对test的参数化及执行
    python_request的安装及模拟json的post请求及带参数的get请求
    windows 下安装Charles,破解,安装证书,设置可抓取https包
    jmeter元件的执行顺序
    jmeter的参数化实现
    jmeter工作目录介绍、jmeter元件及组件介绍
    jmeter设置成中文显示
    win10下安装jmeter
  • 原文地址:https://www.cnblogs.com/polestar/p/7117261.html
Copyright © 2020-2023  润新知