亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java基礎(chǔ)的詳細(xì)了解第三天

 更新時(shí)間:2021年08月09日 16:48:47   作者:zsr6135  
這篇文章對(duì)Java編程語(yǔ)言的基礎(chǔ)知識(shí)作了一個(gè)較為全面的匯總,在這里給大家分享一下。需要的朋友可以參考,希望能給你帶來(lái)幫助

1、private實(shí)現(xiàn)封裝處理

如果像想要知道封裝,首先必須清楚如果沒(méi)有封裝會(huì)怎么樣?

沒(méi)有封裝方法中的屬性,在所有方法被調(diào)用后都可以進(jìn)行無(wú)權(quán)限的訪問(wèn)。而當(dāng)進(jìn)行了封裝操作之后,在實(shí)例化對(duì)象訪問(wèn)該方法的時(shí)候會(huì)出現(xiàn)無(wú)法訪問(wèn)的問(wèn)題。

TestDemo1.java:11: 錯(cuò)誤: name 在 Person 中是 private 訪問(wèn)控制
                per.name = "張三";
                   ^
TestDemo1.java:12: 錯(cuò)誤: age 在 Person 中是 private 訪問(wèn)控制
                per.age = 13;
                   ^
2 個(gè)錯(cuò)誤

解決該問(wèn)題就需要通過(guò)getter、setter進(jìn)行賦值、取值的操作。

class Person{
	private String name;
	private int age;
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
	public void setAge(int age){
		this.age = age;
	}
	public int getAge(){
		return age;
	}
	public void info(){
		System.out.println("name = "+ name +" \nage = " + age);
	}
}
public class TestDemo1{
	public static void main(String args[]){
		Person per = new Person();
		per.setName("張三");
		per.setAge(13);
		per.info();
	}
}

image-20210727174228951

private實(shí)現(xiàn)封裝的最大特征在于:只允許本類(lèi),而不允許外類(lèi)訪問(wèn)

private只是封裝的第一步,如果要學(xué)明白,還需要學(xué)習(xí)多態(tài)、繼承。

2、構(gòu)造方法與匿名對(duì)象

構(gòu)造方法就是在使用關(guān)鍵字new實(shí)例化新對(duì)象的時(shí)候進(jìn)行調(diào)用,但是對(duì)于構(gòu)造方法需要遵守以下原則

  • 方法名稱(chēng)必須與類(lèi)名稱(chēng)相同,并且構(gòu)造的方法沒(méi)有返回值,每個(gè)類(lèi)中一定至少有一個(gè)構(gòu)造方法,如果類(lèi)中沒(méi)有明確的定義任何一個(gè)構(gòu)造方法,如果類(lèi)中沒(méi)有定義任何一個(gè)構(gòu)造方法,那么將自動(dòng)生成一個(gè)無(wú)參的構(gòu)造方法
  • 構(gòu)造方法是在new對(duì)象的時(shí)候才執(zhí)行

疑問(wèn):既然構(gòu)造方法中沒(méi)有返回?cái)?shù)據(jù),為什么不使用void囊?

現(xiàn)在類(lèi)中的組成:屬性、普通方法、構(gòu)造方法

屬性是在對(duì)象開(kāi)辟堆內(nèi)存的時(shí)候開(kāi)辟空間

構(gòu)造方法是在使用關(guān)鍵字new的同時(shí)調(diào)用

普通方法是在new實(shí)例化對(duì)象完成之后進(jìn)行調(diào)用的

構(gòu)造方法的作用:

  • 構(gòu)造方法的調(diào)用和對(duì)象的內(nèi)存分配幾乎是同步完成,所以可以利用構(gòu)造方法設(shè)置類(lèi)中的屬性?xún)?nèi)容,構(gòu)造帆帆噶可以給類(lèi)中的屬性進(jìn)行初始化
  • 通過(guò)構(gòu)造方法設(shè)置內(nèi)容,實(shí)際上可以避免重復(fù)的setter調(diào)用了
  • setter方法除了具備有設(shè)置內(nèi)容之外,也可以承擔(dān)修改數(shù)據(jù)的操作。
  • 既然構(gòu)造方法本身屬于方法,那么方法就一定可以重載,而構(gòu)造方法的重載更加簡(jiǎn)單,因?yàn)榉椒Q(chēng)就是類(lèi)名稱(chēng)所以能夠做的只是實(shí)現(xiàn)參數(shù)的類(lèi)型和個(gè)數(shù)的不同。

在定義若干個(gè)構(gòu)造方法的時(shí)候按照參數(shù)的個(gè)數(shù)采用升序或降序進(jìn)行排列。

class Person{
	private String name;
	private int age;
	public Person(){}
	public Person(String name){
		name = name;
	}
	public Person(String name, int age){
		name = name;
		age = age;
	}
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
	public void setAge(int age){
		this.age = age;
	}
	public int getAge(){
		return age;
	}
	public void info(){
		System.out.println("name = "+ name +" \nage = " + age);
	}
}
public class TestDemo1{
	public static void main(String args[]){
		Person per = new Person("李四",80);
		per.setName("張三");
		per.setAge(13);
		per.info();
	}
}

image-20210727194138758

3、簡(jiǎn)單java類(lèi)

class Emp{
	private int empno;
	private String ename;
	private String job;
	private double sal;
	private double comm;
	public Emp(int no,String name,String j,double s,double c){
		setEmpno(no);
		setEname(name);
		setJob(j);
		setSal(s);
		setComm(c);
	}
	public void setEmpno(int no){
		empno = no;
	}
	public void setEname(String name){
		ename = name;
	}
	public void setJob(String job){
		job = job;
	}
	public void setSal(double s){
		sal = s;
	}
	public void setComm(double c ){
		comm = c;
	}
	public int getEmpnoP(){
		return empno;
	}
	public String getEname(){
		return ename;
	}
	public String getJob(){
		return job;
	}
	public double getSal(){
		return sal;
	}
	public double getComm(){
		return comm;
	}
	public String getInfo(){
		return "empno = " + empno + "\n" +
				"ename = " +ename + "\n" +
				"job = " +job + "\n" +
				"sal = " +sal + "\n" +
				"comm = " +comm ;
	}
}
public class TestDemo2{
	public static void main(String args[]){
		//測(cè)試類(lèi)
        System.out.printf(new Emp(2021,"Joker","CEO",2000.0,0.0).getInfo());
	}
}

4、數(shù)組

數(shù)組屬于引用類(lèi)型,所以在使用前一定要開(kāi)辟空間,本身除了聲明并開(kāi)辟空間之外還有另一種開(kāi)辟模式,采用我們的分布模式開(kāi)辟數(shù)組空間。如果使用數(shù)組不開(kāi)辟空間,會(huì)出現(xiàn)NullPointerException異常。

public class TestDemo3{
	public static void main(String args[]){
		//第一種聲明的方式
		int [] num = new int [3];
		//第二種聲明數(shù)組的方式
		int [] num = null;
		num = new int [3];
		num[0] = 0;
		num[1] = 1;
		num[2] = 2;
		for(int i = 0;i < num.length ; i++){
			System.out.println(num[i]);
		}
	}
}

數(shù)組在開(kāi)發(fā)之中一定會(huì)使用,但是像一些講解的時(shí)候這么用的數(shù)組少了,在以后實(shí)際開(kāi)發(fā),會(huì)更多使用數(shù)組概念,而直接使用數(shù)組99%的情況下只是做for循環(huán)數(shù)組。

總結(jié)

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

相關(guān)文章

  • Java異常區(qū)分和處理的一些經(jīng)驗(yàn)分享

    Java異常區(qū)分和處理的一些經(jīng)驗(yàn)分享

    這篇文章介紹了Java異常區(qū)分和處理的一些經(jīng)驗(yàn)分享,主要是異常選擇和使用中的一些誤區(qū)總結(jié)與歸納,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot項(xiàng)目docker容器部署實(shí)現(xiàn)

    SpringBoot項(xiàng)目docker容器部署實(shí)現(xiàn)

    本文主要介紹了SpringBoot項(xiàng)目docker容器部署實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • 在Java中實(shí)現(xiàn)可見(jiàn)性(visibility)的主要方法詳解

    在Java中實(shí)現(xiàn)可見(jiàn)性(visibility)的主要方法詳解

    這篇文章主要介紹了在Java中實(shí)現(xiàn)可見(jiàn)性(visibility)的主要方法詳解,在Java中,使用關(guān)鍵字volatile和使用鎖(如synchronized關(guān)鍵字或 java.util.concurrent包中的鎖)來(lái)確保對(duì)共享變量的修改在多線程環(huán)境中能夠正確地被其他線程所觀察到,需要的朋友可以參考下
    2023-08-08
  • 詳解spring applicationContext.xml 配置文件

    詳解spring applicationContext.xml 配置文件

    本篇文章主要介紹了詳解spring applicationContext.xml 配置文件 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • RHEL6.5下JDK1.8安裝教程

    RHEL6.5下JDK1.8安裝教程

    這篇文章主要為大家詳細(xì)介紹了RHEL6.5下JDK1.8安裝教程的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Spring Boot集成Ehcache緩存解決方式

    Spring Boot集成Ehcache緩存解決方式

    在本篇文章里小編給大家整理的是關(guān)于Spring Boot集成Ehcache緩存解決方式,需要的朋友們可以學(xué)習(xí)下。
    2019-12-12
  • 簡(jiǎn)單總結(jié)Java的反射機(jī)制的運(yùn)用

    簡(jiǎn)單總結(jié)Java的反射機(jī)制的運(yùn)用

    這篇文章主要介紹了Java的反射機(jī)制的運(yùn)用,對(duì)一些常用的類(lèi)作了一些說(shuō)明,需要的朋友可以參考下
    2015-11-11
  • Mybatis-plus的service通用接口解讀

    Mybatis-plus的service通用接口解讀

    這篇文章主要介紹了Mybatis-plus的service通用接口解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Springboot集成規(guī)則引擎Drools方式

    Springboot集成規(guī)則引擎Drools方式

    這篇文章主要介紹了Springboot集成規(guī)則引擎Drools方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java Collections的emptyList、EMPTY_LIST詳解與使用說(shuō)明

    Java Collections的emptyList、EMPTY_LIST詳解與使用說(shuō)明

    這篇文章主要介紹了Java Collections的emptyList、EMPTY_LIST詳解與使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評(píng)論