Java類名.方法和變量

文章目錄

    • (1) 類名.方法
    • (2) 變量

(1) 類名.方法

要是類名直接調用的方法,那這個方法就是靜態的(static)方法,是不用new出新對象實例就可以直接調用的方法。看下面例子:

class A {public static void Method1(int a, int b) {//方法體}public void Method2(int c) {//方法體}public static void main(String[] args) {A.Method1(50, 90); //類名(A)直接調用靜態方法Method1(),括號	內是傳遞的實參(實際參數)//如果不是靜態方法,要調用它就需要先創建實例,然后利用實例對象來調用方法A a = new A(); //實例化對象aa.Method2(100);}
}

這是靜態方法和非靜態方法的一個區別,靜態方法是類的方法,可以使用類名加英文句號加靜態方法名來直接調用,<靜態方法名里面寫的就是【實參】>,用于向方法傳遞需要的參數。

(2) 變量

2.1 定義
(1) 由字母、數字、下劃線、$組成,不能以數字開頭。
(2) 大小寫敏感。
(3) 不得使用java中的關鍵字和保留字。
關鍵字:都是小寫的,jdk1.2多了strictfp(經準浮點型),關鍵字 jdk1.4多了assert(斷言)關鍵字,jdk1.5多了enum(枚舉) 關鍵字。
true、false、null 嚴格說不應該算關鍵字,應稱其為保留字更合適。

習慣:
(1) 標識符要符合語義信息。
(2) 包名所有字母小寫。
(3) 類名每個單詞首字母大寫,其它小寫,如:TarenaStudent。
(4) 變量和方法:第一個單詞小寫,從第二個單詞開始首字母大寫,如:tarenaStudent。
(5) 常量:所有字母大寫,每個單詞之間用 _ 連接。

2.2 常用的轉義字符:
“\b” (退格)
“\f” (換頁)
“\n” (換行)
“\r” (回車)
“\t” (水平制表符(到下一個tab位置))
"’ " (單引號)
“” " (雙引號)
“\” (反斜杠)

2.3 變量字節

變量類型字節
boolean布爾型1個字節 8bit(8位)
byte字節類型1個字節
char字符類型2個字節
short短整型2個字節
int整型4個字節
float浮點型(單精度)4個字節
long長整型8個字節
double雙精度類型8個字節

Java中默認的整數類型是int,如果要定義為long ,則要在數值后加上L或者l
默認的浮點型是雙精度浮點,如果要定義float,則要在數值后面加上f或者F
一個字節等于8位,1個字節等于256個數。2^8
一個英文字母或者阿拉伯數字占一個字節
一個漢字占2個字節

2.4 局部變量和全局變量

局部變量:在方法、構造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束后,變量就會自動銷毀。

成員變量:成員變量是定義在類中,方法體之外的變量。這種變量在創建對象的時候實例化。成員變量可以被類中方法、構造方法和特定類的語句塊訪問。

類變量:類變量也聲明在類中,方法體之外,但必須聲明為static類型。

一個源文件中只能有一個public類
一個源文件可以有多個非public類

源文件的名稱應該和public類的類名保持一致。例如:源文件中public類的類名是Employee,那么源文件應該命名為Employee.java。
如果一個類定義在某個包中,那么package語句應該在源文件的首行。
如果源文件包含import語句,那么應該放在package語句和類定義之間。如果沒有package語句,那么import語句應該在源文件中最前面。

import語句和package語句對源文件中定義的所有類都有效。在同一源文件中,不能給不同的類不同的包聲明。
類有若干種訪問級別,并且類也分不同的類型:抽象類和final類等。

package 的作用就是 c++ 的 namespace 的作用,防止名字相同的類產生沖突。
Java 編譯器在編譯時,直接根據 package 指定的信息直接將生成的 class 文件生成到對應目錄下。如 package aaa.bbb.ccc 編譯器就將該 .java 文件下的各個類生成到 ./aaa/bbb/ccc/ 這個目錄。

JAVA文件中只能含有一個Public類

2.5 成員變量和類變量的區別

由static修飾的變量稱為靜態變量,其實質上就是一個全局變量。如果某個內容是被所有對象所共享,那么該內容就應該用靜態修飾;沒有被靜態修飾的內容,其實是屬于對象的特殊描述。
不同的對象的實例變量將被分配不同的內存空間, 如果類中的成員變量有類變量,那么所有對象的這個類變量都分配給相同的一處內存,改變其中一個對象的這個類變量會影響其他對象的這個類變量,也就是說對象共享類變量。

成員變量和類變量的區別:

1、兩個變量的生命周期不同
成員變量隨著對象的創建而存在,隨著對象的回收而釋放。
靜態變量隨著類的加載而存在,隨著類的消失而消失。
2、調用方式不同
成員變量只能被對象調用。
靜態變量可以被對象調用,還可以被類名調用。
3、別名不同
成員變量也稱為實例變量。
靜態變量也稱為類變量。
4、數據存儲位置不同
成員變量存儲在堆內存的對象中,所以也叫對象的特有數據。
靜態變量數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。
static 關鍵字,是一個修飾符,用于修飾成員(成員變量和成員函數)。
特點:
1、想要實現對象中的共性數據的對象共享。可以將這個數據進行靜態修飾。
2、被靜態修飾的成員,可以直接被類名所調用。也就是說,靜態的成員多了一種調用方式。類名.靜態方式。
3、靜態隨著類的加載而加載。而且優先于對象存在。

弊端:
1、有些數據是對象特有的數據,是不可以被靜態修飾的。因為那樣的話,特有數據會變成對象的共享數據。這樣對事物的描述就出了問題。所以,在定義靜態時,必須要明確,這個數據是否是被對象所共享的。
2、靜態方法只能訪問靜態成員,不可以訪問非靜態成員。
因為靜態方法加載時,優先于對象存在,所以沒有辦法訪問對象中的成員。
3、靜態方法中不能使用this,super關鍵字。
因為this代表對象,而靜態在時,有可能沒有對象,所以this無法使用。

什么時候定義靜態成員呢?或者說:定義成員時,到底需不需要被靜態修飾呢?

成員分兩種:
1、成員變量。(數據共享時靜態化)
該成員變量的數據是否是所有對象都一樣:
如果是,那么該變量需要被靜態修飾,因為是共享的數據。
如果不是,那么就說這是對象的特有數據,要存儲到對象中。
2、成員函數。(方法中沒有調用特有數據時就定義成靜態)
如果判斷成員函數是否需要被靜態修飾呢?
只要參考,該函數內是否訪問了對象中的特有數據:
如果有訪問特有數據,那方法不能被靜態修飾。
如果沒有訪問過特有數據,那么這個方法需要被靜態修飾。

成員變量和靜態變量的區別:
1、成員變量所屬于對象。所以也稱為實例變量。
靜態變量所屬于類。所以也稱為類變量。
2、成員變量存在于堆內存中。
靜態變量存在于方法區中。
3、成員變量隨著對象創建而存在。隨著對象被回收而消失。
靜態變量隨著類的加載而存在。隨著類的消失而消失。
4、成員變量只能被對象所調用 。
靜態變量可以被對象調用,也可以被類名調用。
所以,成員變量可以稱為對象的特有數據,靜態變量稱為對象的共享數據。

一個包就是一個目錄,一個包內的所有的類必須放在一個目錄下,那個目錄的名字必須是包的名字。
如果某個成員有static關鍵字做修飾,它就不再屬于每一個對象,而是屬于整個類的了。
如果某個成員有static關鍵字做修飾,它就不再屬于每一個對象,而是屬于整個類的了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531010.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531010.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531010.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java小案例(二) 用數組實現增刪查改排序

文章目錄案例一案例二案例三案例四案例五案例一 Student.Java package curd;public class Student {private String stuid;private String name;private int chinese;private int math;private int english;private int avg;private int sum;public int getAvg() {return avg;…

有趣的一行代碼

文章目錄愛心曼德勃羅集合打印99乘法表實現快速排序禪語漫畫迷宮愛心 print(\n.join([.join([(????????????[(x-y)%12]if((x*0.05)**2(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<0 else )for x in range(-30,30)])for y in range(15,-15,-1)]))效果圖&#xff1…

Python練習之 對文件進行創建,然后重命名文件最近進行文件刪除

import os os.mkdir("D:\\1815925603") context ("序號&#xff1a;1815925603\n""姓名&#xff1a;阿信\n""班級&#xff1a;18云計算2班\n") with open (D:\\1815925603\\file1.txt,a) as fp:fp.write(context)fp.seek(0, 0) with …

Java接口中的成員變量為什么必須是static ?

接口的含義 接口就是提供一種統一的協議, 而接口中的屬性也屬于協議中的成員。它們是公共的,靜態的,最終的常量。相當于全局常量。 在interface里面的變量都是public static final 的。 public static final int i10;等價于int i10;(可以省略掉一部分) //注意在聲明的時候要…

Java函數式編程和面向對象編程

文章目錄什么是函數式編程&#xff1f;什么是面向對象編程&#xff1f;函數式編程和面向對象編程的優缺點什么是函數式編程&#xff1f; 函數式編程的核心&#xff1a;在思考問題時&#xff0c;使用不可變對象和函數&#xff0c;函數將一個值經過處理&#xff0c;映射成另一個…

JDBC實現圖書管理小案例

文章目錄項目文件結構項目運行效果項目詳細代碼項目文件下載相關案例案例一案例二案例三案例四案例五案例六案例七案例八項目文件結構 項目運行效果 項目詳細代碼 JDBCUtils.java package jdbc;import java.sql.*; import com.mysql.jdbc.Driver;public class JDBCUtils {pri…

Java實現多線程售票

文章目錄Synchronized和Lock的區別是什么&#xff1f;案例一方法一 繼承Thread類方法二 實現Runnable接口案例二方法一 繼承Thread類方法二 實現Runnable接口案例三方法一 繼承Thread類方法二 實現Runnable接口案例四方法一 繼承Thread類方法二 實現Runnable接口案例五方法一 繼…

基于TCP原理,采用Socket通信技術,實現聊天室

文章目錄案例一案例二案例三案例四案例五相關案例案例一 Client.java package SocketCode;import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import java.io.*; import …

HTML+CSS+JS 實現登錄注冊界面

文章目錄案例一 滑動樣式案例二 滑動樣式案例三 動態樣式案例四 普通樣式案例五 滑動樣式案例六 普通樣式具體怎么獲取呢&#xff1f;案例一 滑動樣式 login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

數據結構課程設計 迷宮問題

文章目錄一、 目的與要求二、 問題描述和求解方法三、 解題過程四、 實現源碼五、 相關案例案例一案例二一、 目的與要求 1、目的&#xff1a; 通過布置具有一定難度的實際程序設計項目&#xff0c;使學生進一步理解和掌握課堂上所學各種基本抽象數據類型的邏輯結構、存儲結構和…

html+css 小案例(一)

文章目錄點擊下載index.html <!DOCTYPE html> <html lang"ch"> <head><meta charset"UTF-8"><title>Demo_Test</title><link rel"stylesheet" href"css/Dec.css"> </head> <body…

HTML+CSS+JS 表白代碼

文章目錄案例一 愛你到天昏地暗案例二 帶有音樂的表白代碼案例三 帶有圖片旋轉的表白案例源碼案例一 愛你到天昏地暗 <html> <style type"text/css"> <!-- .STYLE1 {font-size: medium} --> </style> <center><br><br>…

Linux常用命令與基本操作、填空題、簡答題

文章目錄基本知識點基本操作敘述什么是shell?重啟虛擬機網絡分區查看當前進程查看主機名重啟關機查看IP地址文件搜索掛載查看網絡配置linux系統中Vi的三種模式磁盤分區查看硬盤信息df&#xff0c;fdisk&#xff0c;lsblk區別進程用戶用戶信息查看用戶密碼信息修改密碼添加用戶…

Java中List、Map、Set三個接口,存取元素時,各有什么特點?

特點 List與Set都是單列元素的集合&#xff0c;它們有一個功共同的父接口Collection。 1.Set里面不允許有重復的元素&#xff0c; 存元素&#xff1a;add方法有一個boolean的返回值&#xff0c;當集合中沒有某個元素&#xff0c;此時add方法可成功加入該元素時&#xff0c;則…

客戶端與服務器(C/S架構與B/S架構)、AJax學習

文章目錄HTTP請求與服務器客戶端與服務器1.C/S架構與B/S架構2.web資源介紹3.資源訪問流程HTTP協議1.什么是協議&#xff1f;2.什么是HTTP協議3.HTTP組成部分4.請求的發送方式什么是Ajax技術Ajax可以做什么&#xff1f;偽造AjaxHTTP請求與服務器 客戶端與服務器 1.C/S架構與B/…

Mysql常用命令匯總

文章目錄基本命令連接數據庫查看數據庫使用數據庫查看表查看表結構顯示表的細節修改用戶密碼解決MySQL 5.5,出現亂碼問題聲明字符集DDL創建表查看表中的結構修改表添加表中的列刪除表中的列修改表中的列中屬性的數據類型修改表名修改表的字符集為gbk修改表中的列名刪除表&#…

SSH框架是什么?

文章目錄SSH框架StrutsSpringHibernateSSH框架 瀏覽器-Struts&#xff08;表示層&#xff09;-Spring&#xff08;業務層&#xff09;-Hibernate-數據庫 Struts Struts稱流行服務器&#xff0c;以前的流行服務器&#xff0c;通俗的來講就是完成mvc模型中“C”功能&#xff0c…

前端必會技巧

文章目錄點擊輸入框提示信息防止別人盜取視頻設置輸入邊框透明按鈕跳轉a標簽如何具有bootstra按鈕樣式formData的使用boostrap上傳樣式jq獲取input標簽的值jq獲取最近一個td標簽的值css設置幾個div中的圖片保持在一條水平線使div居中canvas 網頁背景 粒子鼠標跟隨磁力登錄界面添…

C/C++ 指針的深入理解

文章目錄內存結構地址就是指針為什么地址就是指針&#xff1f;指針&#xff1a;地址的外號&變量空間開辟于內存1.所開辟的空間字節數>1字節2.變量的每個字節都一個地址3.變量的第一個字節的地址代表整個變量的地址4.如何使用變量的指針找到整個變量空間&#xff1f;變量…

linux基礎必備

文章目錄Linux系統中常用目錄結構Linux下如何從普通用戶切換到root用戶Linux系統常用命令Linux系統文件中相關指令Linux查看開機自啟動服務Linux常見服務列表Linux關閉某些服務&#xff08;臨時關閉&#xff09;Linux關閉服務開機自啟動Linux中在屏幕輸入一句話Linux查看系統進…