這是一個(gè)Annotation
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、延邊朝鮮族ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的延邊朝鮮族網(wǎng)站制作公司
Annotation接口的實(shí)現(xiàn)類: Documented, Inherited, Retention, Target 都是用來定義自己定義的Annotation類的。
1. 注解(Annotation)類,以@interface 修飾 ,不能顯示(explicit)extends或implements任何類
如:
java 代碼
public @interface DefineAnnotation {
}
這種沒有任何屬性的Annotation類,也叫標(biāo)識Annotation
2. 定義屬性
java 代碼
//屬性必須加個(gè)小括號
public String value() ;
//有默認(rèn)值的屬性
public String value() default "aaa";
完整定義如下:
java 代碼
//注解Annotation類不能顯示(explicit)extends或implements任何類
//不定義任何屬性就叫maket annotation
public @interface DefineAnnotation {
//定義一個(gè)屬性,有屬性的話,必須賦值,除非有默認(rèn)default
public String value() default "aaa";
}
3.使用Annotation,有默認(rèn)值的可以不用傳參數(shù),也可以傳遞參數(shù)。沒有默認(rèn)值的,必須傳遞參數(shù)。
如:
java 代碼
public class TestAnnotation {
// @DefineAnnotation 有默認(rèn)值的第一種使用方式
// @DefineAnnotation() 有默認(rèn)值的第二種使用方式
@DefineAnnotation("ttitfly")
public void say(){
System.out.println("say hello");
}
public static void main(String[] args){
TestAnnotation ta = new TestAnnotation();
ta.say();
}
}
4. Retention (保存)
所有的Annotation類都實(shí)現(xiàn)了Annotation接口
@Retention本身就是個(gè)Annotation(注解)類
它的值是個(gè)enum枚舉類型的RetentionPolicy,該枚舉類型RetentionPolicy有三個(gè)值RUNTIME (會被JVM加載,并可以通過反射來獲得到Annotation類的信息) ,CLASS (不會被JVM加載),Source
@Retention的值標(biāo)識自己定義的Annotation(注解)類 是屬于哪種保存策略,將來哪個(gè)類如果使用了這個(gè)自定義的注解類,將會使用這種保存策略
如:
java 代碼
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//所有的Annotation類都實(shí)現(xiàn)了Annotation接口
//@Retention本身就是個(gè)Annotation(注解)類
//它的值是個(gè)enum枚舉類型的RetentionPolicy,該枚舉類型RetentionPolicy有三個(gè)值RUNTIME (會被JVM加載,并可以通過反射來獲得到Annotation類的信息) ,CLASS (不會被JVM加載),Source
//@Retention的值標(biāo)識自己定義的Annotation(注解)類 是屬于哪種保存策略,將來哪個(gè)類如果使用了這個(gè)自定義的注解類,將會使用這種保存策略
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String hello() default "ttitfly";
String world();
}
java 代碼
//使用自己定義的Annotation類
public class MyTest {
//一個(gè)方法可以有多個(gè)注解類
@Deprecated
@MyAnnotation(hello="china",world="earth")
public void say(){
System.out.println("say hello");
}
}
java 代碼
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
你拷下我的以下的代碼去運(yùn)行就知道了:1:建一個(gè)Person類//定義一個(gè)Person類
public
class
Person
{
String
name="李三";
//定義一個(gè)name屬性,后面帶的值是無參構(gòu)造方法的默認(rèn)值,也可以不用進(jìn)行初始化賦值
int
age=20;
//定義一個(gè)age屬性,,后面帶的值是無參構(gòu)造方法的默認(rèn)值,也可以不用進(jìn)行初始化賦值 //這個(gè)無參構(gòu)造方法,你不寫也可以;
//系統(tǒng)默認(rèn)會創(chuàng)建一個(gè)無參的構(gòu)造方法的,即不用帶參數(shù)
public
Person(){
}
//這個(gè)有參的構(gòu)造方法,參數(shù)你可以自定義
//比如這個(gè)我?guī)Я怂械膮?shù)
public
Person(String
name,
int
age){
this.name=name;
this.age=age;
}
//這個(gè)有參的構(gòu)造方法,我?guī)Я薾ame屬性作為參數(shù)
public
Person(String
name){
this.name=name;
}
//這個(gè)有參的構(gòu)造方法,我?guī)Я薬ge屬性作為參數(shù)
public
Person(int
age){
this.age=age;
}
//自我介紹的方法
public
String
introduce(){
return
"大家好,我叫"+name+",今年"+age+"歲了";
}
public
String
introduceName(){
return
"大家好,我叫"+name;
}
public
String
introduceAge(){
return
"大家好,我"+"今年"+age+"歲了";
}}
2:建一個(gè)測試Person類的測試類: public
class
TestPerson
{ public
static
void
main(String[]
args)
{
//public
Person(){}
//這是Person類的無參構(gòu)造方法,不用帶參數(shù)
Person
per
=
new
Person();
//Person類中我們進(jìn)行了初始化了
System.out.println(per.introduce());
//輸出信息
//public
Person(String
name,
int
age){}
//這是Person類的有參構(gòu)造方法,要帶參數(shù)帶參數(shù)(name,age)
Person
perSon
=
new
Person("李力",20);
//輸入值
System.out.println(perSon.introduce());
//輸出信息
//public
Person(String
name){}
//這是Person類的有參構(gòu)造方法,要帶參數(shù)帶參數(shù)(name)
Person
perName
=
new
Person("莉莉");
//輸入值
System.out.println(perName.introduceName());
//輸出信息
//public
Person(int
age){}
//這是Person類的有參構(gòu)造方法,要帶參數(shù)帶參數(shù)(age)
Person
perAge
=
new
Person(20);
//輸入值
System.out.println(perAge.introduceAge());
//輸出信息
}}
按F11進(jìn)行運(yùn)行吧我里面寫很多注釋了,很容易看懂的,就這樣~~~望采納-_-=謝謝
類是一種引用數(shù)據(jù)類型。類為對象的模板,簡單的說就是分類。
類的定義包括“成員變量”的定義和“方法”的定義,其中“成員變量”用于描述一類對象共同的數(shù)據(jù)結(jié)構(gòu)。在Java語言中,類的成員變量的定義可以使用如下語法:
class 類名 {
成員變量類型變量名稱;
………
}
類是用class關(guān)鍵字來定義的一種抽象數(shù)據(jù)類型,類不但定義了抽象數(shù)據(jù)類型的組成(成員變量),同時(shí)還定義了對該類型可以實(shí)施的操作(方法),類名的首字母必須大寫。看如下代碼定義了雇員類:
/** 定義雇員類 */
public class Emp{
String name;
int age;
char gender;
double salary;
}
在如上的實(shí)例代碼中,僅僅定義了Emp類型的組成,即成員變量。該類定義了4個(gè)成員變量:String類型的name用于存放名字;int類型的age用于存放年齡;char類型的gender用于存放性別;double類型的salary用于存放工資。
class B{\x0d\x0a private int a;//聲明變量\x0d\x0a public B()//構(gòu)造函數(shù)\x0d\x0a{\x0d\x0a}\x0d\x0apublic void setA(int a)//設(shè)置a的值\x0d\x0a{\x0d\x0a this.a=a;\x0d\x0a\x0d\x0a}\x0d\x0apublic int getA()//獲取a的值\x0d\x0a{\x0d\x0areturn a;\x0d\x0a}\x0d\x0apublic public static void main(String[] args)//必須要的主函數(shù)\x0d\x0a{\x0d\x0aB b=new B();//建立一個(gè)B的對象b\x0d\x0ab.setA(3);//調(diào)用b對象里的方法setA();\x0d\x0aSystem.out.println(b.getA);//輸出a\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a}
網(wǎng)站欄目:java定義一個(gè)類代碼 java源代碼中定義幾個(gè)類,編譯結(jié)果就生成幾個(gè)
本文路徑:http://vcdvsql.cn/article38/doodjsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、服務(wù)器托管、移動網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)