Java面向对象(三)

Java面向对象(三)

 

Java中成员变量、局部变量、全局变量

  成员变量:

在类中定义,用来描述对象将要有什么

  局部变量:

在类的方法中定义,在方法中临时保存数据

区别:成员变量可以被本类的方法所使用,也可以被其他类的方法使用,局部变量只能在当前的方法中使用

 

作用域不同

 

    1.局部变量的作用域仅限于定义他的方法

 

    2.成员变量的作用域在整个类内部都是可见的

 

初始值不同

 

    1.java会给成员变量一个初始值

 

    2.java不会给局部变量赋予初始值

 

在同一方法中,不允许有同名局部变量

 

在不同的方法中,可以有同名局部变量

 

两类变量同名时,局部变量具有更高的优先级

 

 

类中的成员变量,必须实例化后再能使用成员变量

 

全局变量则可以直接调用,不需要实例化

 

  全局变量:

  Java提供了public static 关键字来实现一个全局的变量。如果程序只有一个包的话,那么将这个public static(被声明为static的变量不需要实例化对象即可直接使用类名来引用之) 修饰的变量放到程序初始化的地方去实现,就可以在这个程序的各个地方直接调用这个变量了。这虽然不叫全局变量,但实际使用中和全局变量的意思是一样的。

Java的封装、继承、多态

  1.封装:

  封装性就是把类(对象)的属性和行为结合成一个独立的相同单位,并尽可能隐蔽类(对象)的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。封装的特性使得类(对象)以外的部分不能随意存取类(对象)的内部数据(属性),保证了程序和数据不受外部干扰且不被误用。

实例 

public class Student {
    private int no;
    public int getNo(){
        return this.no;
    }
    public void setNo(int n){
        this.no = n;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }

    private int age;
    private String name;
    private String gender;
}

 

public class Exam1 {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.setNo(1);
        System.out.println(stu.getNo());
    }
}

  2.继承:

  继承是面向对象的三大特征之一,也是实现代码复用的重要手段。Java的继承是单继承,即子类只能继承一个父类,但父类可以有多个子类。

  子类中可以声明与父类同名的成员变量,这时父类的成员变量就被隐藏起来了,在子类中直接访问到的是子类中定义的成员变量。

特点:增强了程序代码的可扩展性,继承具有单根性的特点(一个子类只能继承一个父类,而一个父类可以有多个子类),继承具有传递性的特点(一个子类继承父类,也默认继承了父类的父类)

3.多态

  父类的对象可以由其任意子类来创建,但子类的对象不能由父类来创建,这个过程就是多态

 

 

原文地址:https://www.cnblogs.com/ZHANGDGGE/p/6482782.html