激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 一篇文章帶你深入了解Java基礎(4)

一篇文章帶你深入了解Java基礎(4)

2021-11-02 12:16zsr6135 Java教程

這篇文章主要給大家介紹了關于Java中方法使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、private實現封裝處理

如果像想要知道封裝,首先必須清楚如果沒有封裝會怎么樣?

沒有封裝方法中的屬性,在所有方法被調用后都可以進行無權限的訪問。而當進行了封裝操作之后,在實例化對象訪問該方法的時候會出現無法訪問的問題。

TestDemo1.java:11: 錯誤: name 在 Person 中是 private 訪問控制
                per.name = "張三";
                   ^
TestDemo1.java:12: 錯誤: age 在 Person 中是 private 訪問控制
                per.age = 13;
                   ^
2 個錯誤

解決該問題就需要通過getter、setter進行賦值、取值的操作。

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 +" 
age = " + age);
	}
}
public class TestDemo1{
	public static void main(String args[]){
		Person per = new Person();
		per.setName("張三");
		per.setAge(13);
		per.info();
	}
}

一篇文章帶你深入了解Java基礎(4)

private實現封裝的最大特征在于:只允許本類,而不允許外類訪問

private只是封裝的第一步,如果要學明白,還需要學習多態、繼承。

 

2、構造方法與匿名對象

構造方法就是在使用關鍵字new實例化新對象的時候進行調用,但是對于構造方法需要遵守以下原則

  • 方法名稱必須與類名稱相同,并且構造的方法沒有返回值,每個類中一定至少有一個構造方法,如果類中沒有明確的定義任何一個構造方法,如果類中沒有定義任何一個構造方法,那么將自動生成一個無參的構造方法
  • 構造方法是在new對象的時候才執行

疑問:既然構造方法中沒有返回數據,為什么不使用void囊?

現在類中的組成:屬性、普通方法、構造方法

屬性是在對象開辟堆內存的時候開辟空間

構造方法是在使用關鍵字new的同時調用

普通方法是在new實例化對象完成之后進行調用的

構造方法的作用:

  • 構造方法的調用和對象的內存分配幾乎是同步完成,所以可以利用構造方法設置類中的屬性內容,構造帆帆噶可以給類中的屬性進行初始化
  • 通過構造方法設置內容,實際上可以避免重復的setter調用了
  • setter方法除了具備有設置內容之外,也可以承擔修改數據的操作。
  • 既然構造方法本身屬于方法,那么方法就一定可以重載,而構造方法的重載更加簡單,因為方法名稱就是類名稱所以能夠做的只是實現參數的類型和個數的不同。

在定義若干個構造方法的時候按照參數的個數采用升序或降序進行排列。

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 +" 
age = " + age);
	}
}
public class TestDemo1{
	public static void main(String args[]){
		Person per = new Person("李四",80);
		per.setName("張三");
		per.setAge(13);
		per.info();
	}
}

一篇文章帶你深入了解Java基礎(4)

 

3、簡單java類

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 + "
" +
				"ename = " +ename + "
" +
				"job = " +job + "
" +
				"sal = " +sal + "
" +
				"comm = " +comm ;
	}
}
public class TestDemo2{
	public static void main(String args[]){
		//測試類
        System.out.printf(new Emp(2021,"Joker","CEO",2000.0,0.0).getInfo());
	}
}

 

4、數組

數組屬于引用類型,所以在使用前一定要開辟空間,本身除了聲明并開辟空間之外還有另一種開辟模式,采用我們的分布模式開辟數組空間。如果使用數組不開辟空間,會出現NullPointerException異常。

public class TestDemo3{
	public static void main(String args[]){
		//第一種聲明的方式
		int [] num = new int [3];
		//第二種聲明數組的方式
		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]);
		}
	}
}

數組在開發之中一定會使用,但是像一些講解的時候這么用的數組少了,在以后實際開發,會更多使用數組概念,而直接使用數組99%的情況下只是做for循環數組。

 

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/zsr6135/article/details/119155187

延伸 · 閱讀

精彩推薦
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
主站蜘蛛池模板: 国产精品久久久免费观看 | 7777奇米成人四色影视 | 91女上位 在线播放 性欧美日本 | 欧美一区二区三区免费电影 | 羞羞的视频免费在线观看 | 免费久久久 | 国产成人高清成人av片在线看 | 中文字幕亚洲一区二区三区 | 一级免费在线 | 视频一区二区三区在线播放 | 欧美成人一区二区三区电影 | 西川av在线一区二区三区 | 免费毛片电影 | 久久精品视频1 | 一本色道久久综合狠狠躁篇适合什么人看 | 国产一区二区精品91 | 午夜精品成人 | 9191久久久久视频 | 噜噜噜在线 | 日韩av电影在线免费观看 | 91看片王 | 免费观看的毛片手机视频 | 黄色免费视频在线 | 欧美成人小视频 | 欧美黄成人免费网站大全 | 毛片在线视频观看 | 深夜影院一级毛片 | 精品亚洲午夜久久久久91 | 国产精品久久久久久久久粉嫩 | 成人在线视频播放 | 欧美一级一区二区三区 | 久色porn| 欧美日韩国产一区二区三区在线观看 | 亚州欧美在线 | 国产成人av一区二区 | 欧美高清一级片 | 亚洲精品有限 | 国产xxxxx在线观看 | 精品国产一区二区三区久久久狼牙 | 亚洲福利在线视频 | 久久视频精品 |