面向對象的設計思想是當今軟件設計領域應用最為廣泛的設計思想,它解決了面向過程的設計無法適應大規(guī)模軟件開發(fā)的問題,可以有效的將問題進行劃分和隔離。
成都創(chuàng)新互聯(lián)公司成都網(wǎng)站建設按需規(guī)劃網(wǎng)站,是成都網(wǎng)站建設公司,為成都PVC花箱提供網(wǎng)站建設服務,有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設計服務:原型圖制作、網(wǎng)站創(chuàng)意設計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站設計熱線:18982081108基本特點//declear package
package com.test;
public class Employee {
//declear field
private String name;
private int age;
//constructor
public Employee(String name, int age) {
this.name = name;
this.age = age;
}
//method
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
包是java中的一種低級封裝模式,通過包聲明就可以把一個類放在某個包下,從而實現(xiàn)類的第一層隔離。在聲明類的時候葉可以不指定包聲明,但通常不推薦這么做。
在java中使用包的場景有兩個,一個是將當前類聲明到某一個包下,另外就是導入其他包中的類,而在導入類時又分為類導入和靜態(tài)導入。
//在頭部導入
import java.utils.Date;
//在使用時導入
java.utils.Date date = new java.utils.Date();
//靜態(tài)導入,可以導入類中的靜態(tài)方法,使用更方便
import static java.lang.System.*;
類用class關鍵字來聲明,一個類的名稱可以和所在文件名稱不同,但一般不會這么做,類名由字母、數(shù)字、下劃線、$組成,但不能以數(shù)字開頭。
成員變量是類對數(shù)據(jù)的封裝,方法是類對外提供的行為或能力,即一個功能點,在方法中往往包含了對數(shù)據(jù)的數(shù)據(jù)過程,類不應該直接將內(nèi)部數(shù)據(jù)和數(shù)據(jù)處理過程暴露給使用者。
類中如果定義了多個構造函數(shù),可以通過this關鍵字進行互相調用。成員方法也可以通過重載的方式來實現(xiàn)擴展,所謂重載就是方法名稱相同,但方法參數(shù)列表不同的方法(參數(shù)類型、個數(shù)、順序不同)。
變量和方法還可以通過static聲明為靜態(tài)的,靜態(tài)變量一般會作為常量存在,例如:
public static final int MAX_VAL = 1000;
而靜態(tài)方法一般用來聲明工具方法,例如Collections和Arrays中提供的工具方法都是靜態(tài)方法。
繼承public class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello() {
System.out.println("hello," + name);
}
}
//declear subclass
public class Employee extends Person {
private String no;
public Employee(String name, int age, String no) {
//invoke super class constructor
super(name, age);
this.no = no;
}
//override super class method
public void sayHello() {
System.out.println(no + ", hello, " + name);
}
}
public class Main {
public static void main(String[] args) {
//
Person person = new Employee();
}
}
如果希望類不會被繼承或方法不會被重寫,可以將類或方法聲明為final的,java類庫中的一些核心類為了保證代碼的安全性,都被聲明為了final,比如String。
繼承是實現(xiàn)多態(tài)的基礎之一,在使用多態(tài)時就會涉及到強制類型轉換,這種轉換即可以向下轉也可以向上轉。
Person person = new Employee();
Employee emp1 = (Employee)person;
Person person2 = (Person)emp1;
在使用繼承的模式構建軟件系統(tǒng)時,抽象類是最常用的模式,抽象類就是具有抽象方法的類,一般用抽象類類定義程序的骨架,然后用子類加多態(tài)的方式來動態(tài)的擴展軟件系統(tǒng),比如常用的Spring開發(fā)框架中就使用的大量的抽象類來保證軟件的可擴展性。
在java中,Object是所有類的默認父類
在Object中提供了與等待/通知、對象析構、克隆、等值判斷、打印等方法,其中equals/hashCode和toString是在日常開發(fā)中會經(jīng)常涉及的三個方法。
接口在java中一般用來定義行為,如果某個對象想要具有某個接口的行為,就直接實現(xiàn)這個接口。接口中的方法是public abstract的,成員變量是public static final 的,在使用時要注意。
另外在java8中引入了接口方法的默認實現(xiàn),即可以為接口方法提供默認的實現(xiàn)邏輯。
public interface Walk {
default void walk() {
System.out.println("walk");
}
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧