欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章帶你入門(mén)java面向?qū)ο?/h1>
 更新時(shí)間:2021年08月04日 17:30:28   作者:wwwzhouzy  
這篇文章主要介紹了Java語(yǔ)言面向?qū)ο缶幊趟枷胫?lèi)與對(duì)象實(shí)例詳解,還是十分不錯(cuò)的,這里給大家分享下,需要的朋友可以參考,希望能幫到你

一、繼承

繼承就是子類(lèi)繼承父類(lèi)的特征和行為,使得子類(lèi)對(duì)象(實(shí)例)具有父類(lèi)的實(shí)例域和方法,或子類(lèi)從父類(lèi)繼承方法,使得子類(lèi)具有父類(lèi)相同的行為

本章就以人、學(xué)生、老師作為例子。學(xué)生和老師都繼承人這個(gè)對(duì)象,都有人的特征和行為,人就是父類(lèi),老師和學(xué)生就是子類(lèi)

示例:

人類(lèi):

package com.zhouzy.base.t7;
public class Person {
	private String name;
	private String sex;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void action(Person p){
		System.out.println("這是人的行為");
		System.out.println("person的名字:"+p.getName());
	}
}

學(xué)生:

package com.zhouzy.base.t7;
public class Student extends Person{
	/**
	 * 這就是重寫(xiě)
	 */
	@Override
	public void action(Person p){
		System.out.println("這是學(xué)生的行為");
		System.out.println("Student的名字:"+p.getName());	//繼承了父類(lèi)的屬性
	}
}

老師:

package com.zhouzy.base.t7;
public class Teacher extends Person{
	@Override
	public void action(Person p){
		System.out.println("這是老師的行為");
		System.out.println("Teacher的名字:"+p.getName());
	}
}

測(cè)試:

package com.zhouzy.base.t7;
import org.junit.Test;
public class ObjectTest {
	@Test
	public void extendsTest(){
		Person p1 = new Student();
		p1.setName("張三");
		p1.action(p1);
		Person p2 = new Teacher();
		p2.setName("劉老師");
		p2.action(p2);
	}
}

結(jié)果:

這是學(xué)生的行為
Student的名字:張三
這是老師的行為
Teacher的名字:劉老師

二、重載

重載是在一個(gè)類(lèi)里面方法名相同,但返回值或者參數(shù)類(lèi)型或個(gè)數(shù)不同,比如

    private String testOverload(){
		return "Overload";
	}
	private String testOverload(String param){
		return "Overload";
	}
	private void testOverload(int param){
		System.out.println(param);
	}
	private String testOverload(String param1,String param2){
		return "Overload";
	}

重寫(xiě)和重載是java多態(tài)的一種體現(xiàn)

三、接口

接口(英文:Interface),在JAVA編程語(yǔ)言中是一個(gè)抽象類(lèi)型,是抽象方法的集合,接口通常以interface來(lái)聲明。一個(gè)類(lèi)通過(guò)繼承接口的方式,從而來(lái)繼承接口的抽象方法。

接口并不是類(lèi),編寫(xiě)接口的方式和類(lèi)很相似,但是它們屬于不同的概念。類(lèi)描述對(duì)象的屬性和方法。接口則包含類(lèi)要實(shí)現(xiàn)的方法。

除非實(shí)現(xiàn)接口的類(lèi)是抽象類(lèi),否則該類(lèi)要定義接口中的所有方法。

接口無(wú)法被實(shí)例化,但是可以被實(shí)現(xiàn)。一個(gè)實(shí)現(xiàn)接口的類(lèi),必須實(shí)現(xiàn)接口內(nèi)所描述的所有方法,否則就必須聲明為抽象類(lèi)。另外,在 Java 中,接口類(lèi)型可用來(lái)聲明一個(gè)變量,他們可以成為一個(gè)空指針,或是被綁定在一個(gè)以此接口實(shí)現(xiàn)的對(duì)象。

1、接口與類(lèi)相似點(diǎn):

一個(gè)接口可以有多個(gè)方法。

接口文件保存在 .java 結(jié)尾的文件中,文件名使用接口名。

接口的字節(jié)碼文件保存在 .class 結(jié)尾的文件中。

接口相應(yīng)的字節(jié)碼文件必須在與包名稱(chēng)相匹配的目錄結(jié)構(gòu)中。

2、接口與類(lèi)的區(qū)別:

接口不能用于實(shí)例化對(duì)象。

接口沒(méi)有構(gòu)造方法。

接口中所有的方法必須是抽象方法,Java 8 之后 接口中可以使用 default 關(guān)鍵字修飾的非抽象方法。

接口不能包含成員變量,除了 static 和 final 變量。

接口不是被類(lèi)繼承了,而是要被類(lèi)實(shí)現(xiàn)。

接口支持多繼承。

3、語(yǔ)法

[可見(jiàn)度] interface 接口名稱(chēng) [extends 其他的接口名] {
        // 聲明變量
        // 抽象方法
}

示例:

package com.zhouzy.base.t2;
public interface Car {
	public void move();
}

實(shí)現(xiàn)接口的類(lèi),必須實(shí)現(xiàn)接口里面的方法

package com.zhouzy.base.t2;
public class Baoma implements Car{
	@Override
	public void move() {
		System.out.println("我是寶馬,時(shí)速最高200公里每小時(shí),牛擦吧!");
	}
}

四、枚舉

1、定義

Java 枚舉是一個(gè)特殊的類(lèi),一般表示一組常量,比如一年的 4 個(gè)季節(jié),一個(gè)年的 12 個(gè)月份,一個(gè)星期的 7 天,方向有東南西北等。

Java 枚舉類(lèi)使用 enum 關(guān)鍵字來(lái)定義,各個(gè)常量使用逗號(hào) , 來(lái)分割。

例如定義一個(gè)顏色的枚舉類(lèi)。

enum Color 
{ 
    RED, GREEN, BLUE; 
}

示例:

enum Color 
{ 
    RED, GREEN, BLUE; 
} 
public class Test 
{ 
    // 執(zhí)行輸出結(jié)果
    public static void main(String[] args) 
    { 
        Color c1 = Color.RED; 
        System.out.println(c1); 
    } 
}

結(jié)果:

RED

2、迭代枚舉元素

enum Color 
{ 
    RED, GREEN, BLUE; 
} 
public class MyClass { 
  public static void main(String[] args) { 
    for (Color myVar : Color.values()) {
      System.out.println(myVar);
    }
  } 
}

結(jié)果:

RED
GREEN
BLUE

3、在 switch 中使用枚舉類(lèi)

enum Color 
{ 
    RED, GREEN, BLUE; 
} 
public class MyClass {
  public static void main(String[] args) {
    Color myVar = Color.BLUE;
    switch(myVar) {
      case RED:
        System.out.println("紅色");
        break;
      case GREEN:
         System.out.println("綠色");
        break;
      case BLUE:
        System.out.println("藍(lán)色");
        break;
    }
  }
}

結(jié)果:

藍(lán)色

總結(jié)

本篇文章就到這里了嗎,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 關(guān)于SpringBoot自定義條件注解與自動(dòng)配置

    關(guān)于SpringBoot自定義條件注解與自動(dòng)配置

    這篇文章主要介紹了關(guān)于SpringBoot自定義條件注解與自動(dòng)配置,Spring Boot的核心功能就是為整合第三方框架提供自動(dòng)配置,而本文則帶著大家實(shí)現(xiàn)了自己的自動(dòng)配置和Starter,需要的朋友可以參考下
    2023-07-07
  • Java中SpringCloud的五大組件詳解

    Java中SpringCloud的五大組件詳解

    這篇文章主要介紹了Java中SpringCloud的五大組件詳解,Spring cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的服務(wù)治理工具包,在微服務(wù)架構(gòu)中用于管理和協(xié)調(diào)服務(wù),需要的朋友可以參考下
    2023-07-07
  • SpringBoot3集成WebSocket的全過(guò)程

    SpringBoot3集成WebSocket的全過(guò)程

    WebSocket通過(guò)一個(gè)TCP連接在客戶端和服務(wù)器之間建立一個(gè)全雙工、雙向的通信通道,使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,本文給大家介紹了SpringBoot3集成WebSocket的全過(guò)程,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-05-05
  • 三步輕松實(shí)現(xiàn)Java的SM2前端加密后端解密

    三步輕松實(shí)現(xiàn)Java的SM2前端加密后端解密

    SM2算法和RSA算法都是公鑰密碼算法,SM2算法是一種更先進(jìn)安全的算法,在我們國(guó)家商用密碼體系中被用來(lái)替換RSA算法,這篇文章主要給大家介紹了關(guān)于如何通過(guò)三步輕松實(shí)現(xiàn)Java的SM2前端加密后端解密的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • SpringBoot臨時(shí)屬性設(shè)置方法

    SpringBoot臨時(shí)屬性設(shè)置方法

    這篇文章主要介紹了SpringBoot臨時(shí)屬性設(shè)置方法,SpringBoot工程可以基于java環(huán)境獨(dú)立進(jìn)行jar文件啟動(dòng)服務(wù),文中給大家提到了命令行啟動(dòng)常見(jiàn)問(wèn)題以及解決方案,需要的朋友可以參考下
    2022-09-09
  • swing組件JScrollPane滾動(dòng)條實(shí)例代碼

    swing組件JScrollPane滾動(dòng)條實(shí)例代碼

    這篇文章主要介紹了swing組件JScrollPane滾動(dòng)條實(shí)例代碼,分享了兩個(gè)相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • java開(kāi)發(fā)RocketMQ生產(chǎn)者高可用示例詳解

    java開(kāi)發(fā)RocketMQ生產(chǎn)者高可用示例詳解

    這篇文章主要為大家介紹了java開(kāi)發(fā)RocketMQ生產(chǎn)者高可用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 詳解Maven settings.xml配置(指定本地倉(cāng)庫(kù)、阿里云鏡像設(shè)置)

    詳解Maven settings.xml配置(指定本地倉(cāng)庫(kù)、阿里云鏡像設(shè)置)

    這篇文章主要介紹了詳解Maven settings.xml配置(指定本地倉(cāng)庫(kù)、阿里云鏡像設(shè)置),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • zookeeper概述圖文詳解

    zookeeper概述圖文詳解

    今天小編就為大家分享一篇關(guān)于Zookeeper概述圖文詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Java報(bào)錯(cuò)Java.net.SocketTimeoutException的幾種解決方法

    Java報(bào)錯(cuò)Java.net.SocketTimeoutException的幾種解決方法

    在 Java 網(wǎng)絡(luò)編程中,SocketTimeoutException 通常表示在進(jìn)行網(wǎng)絡(luò)操作時(shí),等待響應(yīng)的時(shí)間超過(guò)了設(shè)定的超時(shí)時(shí)間,本文將深入探討 Java.net.SocketTimeoutException 的問(wèn)題,并為開(kāi)發(fā)者和環(huán)境配置者提供詳細(xì)的解決方案,需要的朋友可以參考下
    2024-10-10

最新評(píng)論