JAVA 学习随笔记录 (四)面向对象编程

目录

 

对象

面向对象程序设计的特点

类的成员变量与成员方法

构造方法 

局部变量

this关键字

 static关键字

类的主方法


对象

表示任意存在的事物,是一个抽象概念,随处可见的一种事务称之为对象,对象是事物存在的一种实体,通常将对象划分为两个部分,静态部分与动态部分,静态部分称之为“属性”,动态部分称之为对象的行为,即对象执行的动作。

例如:cxk是一种对象,他就具有性别与身高体重等客观存在的属性,并且cxk可以行走,可以跑步,可以唱跳、RAP、篮球。

类是封装对象的属性和行为的载体,也就是说具有相同属性与动作的对象可以归并到一个类中,类包括对象的属性和方法。而类中的对象属性是以成员变量的形式定义的,对象的行为是以方法的形式定义的。

声明一个类的语法:

class 类名称{

//类的成员变量

//类的成员方法

}

面向对象程序设计的特点

1.封装性:

类会将对象的属性与方法封装起来,对客户隐藏属性与方法的实现过程,采用封装结构可以避免内部数据结构遭到破坏,保证了程序的安全性,即用户只能调用一个类中对象的方法来完成操作,不可对对象中的数据进行肆意变更。

2.继承性:

继承是实现软件复用的重要手段,子类通过继承,复用父类的属性和行为,同时添加子类的行为与属性。

例如:在四边形里包括正方形,平行四边形,菱形等四边形,而正方形可以看作是继承了四边形的类,具有四边形的一般属性和行为,比如具有四条边,然后加入自己的属性与方法,比如,四条边都相等的四边形就是菱形。

3.多态性

将父类对象应用于子类的特征就是多态,首先有一个父类,有两个子类继承了该父类,故两个字类都具有父类共同的属性和行为,同时又根据不同的需求,在子类中分别添加不同的属性与方法,使得一个父类衍生出不同的子类时,子类也具有自己的特征,实现不同的效果,这就是多态化结构。

类的成员变量与成员方法

对象的属性就称为是成员变量,在定义成员变量时可以赋值也可以不赋值,定义方法与普通变量相同。

成员方法对应于类对象的行为,主要用来定义类可执行的操作。语法格式:

[权限修饰符] [返回值类型] 方法名 ([参数类型 参数名])[throws 异常类型]{

...//方法体

return 返回值;

}

其中权限修饰符有public private protected

成员方法中的参数又分为值参数、引用参数、不定长参数。

值参数表明实参与形参之间按照值进行传递,形参的修改不影响实参。

例:使用成员方法进行书的总和计算

package unit1;


public class Book {
    private int add(int shelf,int box) {  // 形参
        box+=shelf;
        return box;
}
    public static void main(String args[]) {
        Book book=new Book();
        int shelf=10;                            //实参
        int box=20;
        int c=book.add(shelf, box);
        System.out.println("当前一共有"+c+"本书");
    }
}

引用参数,如果在给方法传递参数时,参数的类型是数组或者其他引用类型,那么,在方法中对参数的修改会反映到原有的数组或者其他引用类型中,称为引用参数。

例:使用引用参数,修改过的数组元素值会记录在数组中

package unit1;

public class ExchangeRate {
    public void change(double cx[]) {
        for(int i=0;i<cx.length;i++) {
            cx[i]=cx[i]*6.903;
        }
    }
    public static void main(String args[]) {
        ExchangeRate ex=new ExchangeRate();
        double domain[]= {1,10,100};
        for(double k:domain) {
            System.out.println("美元"+k+"等于");
        }
        ex.change(domain);     //此处修改domain值,domain会变更为新的值
        for(int i=0;i<domain.length;i++) {
            System.out.println(domain[i]);
            System.out.println("元人民币");
        }
}
}

不定长参数:在声明方法时,如果有若干个相同类型的参数,可以将其定义为不定长参数,声明方法如下:

权限修饰符 返回值类型 方法名 (参数类型... 参数名)

构造方法 

在类中除了成员方法以外,还存在一种特殊类型的方法,就是构造方法,这种方法与类同名,对象的创建就是通过构造方法完成的,特点如下:


构造方法没有返回类型,也不能定义为void

构造方法的名称要与本类的名称相同

构造方法的主初始化工作,他把定义对象的参数传递给对象成员

例如:class book{

public book(){
//对成员变量进行初始化

}

}

局部变量

定义在成员方法中的变量称为局部变量,局部变量在使用时必须进行赋值操作或者被初始化,在执行时被创建,在本模块代码执行完时销毁。

this关键字

当类中的成员变量与成员方法中的参数重名时,可以使用this来调用成员变量,例如:

package unit1;

public class Book2 {
    String name;
    public void ShowName(String name) {
        this.name=name;
        System.out.println(name);
    }
    public static void main(String args[]) {
        Book2 book=new Book2();
        book.ShowName("ds");
    }
}

 static关键字

很多时候,不同的类之间需要对同一个变量进行操作,比如一个水池,同时打开注水口与排水口,两个动作会同时影响水池中的水,此时水池中的水就可以认为是一个共享变量,将共享变量用static修饰,他就是一个静态变量,调用静态变量的语法:

类名.静态类成员

如果想要使用成员方法完成一些事务逻辑,但是又不能去创建对象去调用时,可以通过静态方法来完成调用,语法格式:

类名.静态方法();

类的主方法

主方法是类的入口点,它指定了程序从何处开始,提供对程序流的控制。主方法是静态且无返回值的。

发布了15 篇原创文章 · 获赞 8 · 访问量 922

猜你喜欢

转载自blog.csdn.net/caicai779369786/article/details/90105368
今日推荐