⑴ java中怎樣創建一個類有那些方法,請舉例說明.謝謝!
1、定義一個類,class A={},然後創建這個類對象,A a = new A();有沒有參數看你類定義的構造函數;
2、繼承java已有的類,以異常類為例,class A extends Exception{}
3、實現java已有介面或者抽象類,class A implements Runnable{}
4、單繼承多實現,class A extends B implements C,D{}
⑵ java如何定義一個類,創建它的成員變數和方法
建立一個Javaproject——點右鍵新建一個類,類名字最好是大寫開頭,LZ 我給你寫一個簡單的類x0dx0apublic class Test{x0dx0a//定義成員變數x0dx0aint width=10;x0dx0aint height=10;x0dx0a// 成員方法x0dx0apublic area(){x0dx0a return width*height ;x0dx0a }x0dx0a}
⑶ 昆明Java培訓:Java如何創建不可變類
⑷ java中如何以給定的字元串為名字創建某個類的實例 可以用反射根據給定的類名來動態生成實例 比如你定義了一個類 然後使用如下代碼創建這個類的一個實例 這個instance就是需要的結果 ⑸ java如何創建一個類的對象
Java創建一個類的對象通過new關鍵字創建: ⑹ 怎麼用"java"寫一個類
class B{\x0d\x0a private int a;//聲明變數\x0d\x0a public B()//構造函數\x0d\x0a{\x0d\x0a}\x0d\x0apublic void setA(int a)//設置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)//必須要的主函數\x0d\x0a{\x0d\x0aB b=new B();//建立一個B的對象b\x0d\x0ab.setA(3);//調用b對象里的方法setA();\x0d\x0aSystem.out.println(b.getA);//輸出a\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a}
⑺ java 定義類 如何寫
類是一種引用數據類型。類為對象的模板,簡單的說就是分類。 ⑻ java類創建方法
有4種顯式地創建對象的方式: ⑼ Java如何創建一個類
定義一個類,class A={},然後創建這個類對象,A a = new A();有沒有參數看你類定義的構造函數; 例代碼如下: ⑽ 如何創建JAVA類,如下
1)new--->project--->Java Project --> Project Name 中寫工程
不可變類:當你獲得這個類的一個實例引用時,你不可以改變這個實例的內容。
那麼,什麼是不可變對象?一旦一個類的實例化對象被創建並初始化,那麼它就不可以被改變。
我們可以調用訪問器方法(getter),復制對象,或者傳遞對象,但是不允許任何方法改變這個對象的狀態。
包裝類(e.g.Integer或Float)和String類是不可變類的代表。
訪問器方法(accessormethod):對成員變數做出訪問的方法,e.g.getter()方法。
修改器方法(mutatormethod):對成員變數做出修改的方法,e.g.setter()方法。
定義一個不可變類如果我們要自己創建一個不可變類,需要遵守下面的規則:將成員變數(field:在一些書中也翻譯為域)聲明成final並在構造器中初始化。
對於基本類型的成員變數,用final修飾,一旦它被初始化,就不能被改變了。
而對於引用類型的成員變數,不能夠改變它的引用。
成員變數如果被聲明稱final,那麼構建對象時,必須要初始化這樣的域引用類型是可變的,我們需要採取一些措施來保證它的不可變性。
為什麼?如果我們只是聲明了一個final的可變引用類型,那麼這個引用可以去引用外部的類,或者被其他外部類引用。
在這種情況下,我們要做到:1.這些方法不會改變這些可變對象中的內容2.不要將這些引用分享到外部供其他類使用,例如,如果對成員變數的引用是可以被其他類改變的,那麼這些外部類就可以改變這個類中的內容。
3.如果必須要返回一個引用,那麼就返回一個對象的深度拷貝,這樣盡管返回的對象內容改變了,但也保存著原始的內容。
只提供訪問器方法(i.e.getter方法)不提供修改器方法(i.e.setter方法)如果一定要改變這個對象的內容,那就創建一個新的不可變對象內容做相應的修改,返回修改後的對象的引用聲明類是final的。
如果一個類可以被繼承,那麼它子類就可以重載它的方法,並且修改成員變數JavaAPI中不可變類的例子讓我們來回顧一下String類,用它來理解上述的幾個方面在String類實現中的體現:所有在Stirng類中成員變數都被聲明成private,這些成員變數都在構造器中在構建對象時被初始化。
trimconcatsubstring都可以改變String的對象,為了保證String的不可變性,這些方法都返回的是一個改變相應內容後新的對象。
string類被聲明稱final,所以任何類都不能繼承,重載它的方法。
自己實現一個不可變類接下來我們自己實現一個不可變類ImmutableCircle。
//ImmutableCircle.java//{privateintxPos,yPos;publicPoint(intx,inty){xPos=x;yPos=y;}publicStringtoString(){return"x="+xPos+",y="+yPos;}intgetX(){returnxPos;}intgetY(){returnyPos;}}//_thestateofitsobjects//{privatefinalPointcenter;privatefinalintradius;publicImmutableCircle(intx,inty,intr){center=newPoint(x,y);radius=r;}publicStringtoString(){return"center:"+center+"andradius="+radius;}publicintgetRadius(){returnradius;}publicPointgetCenter(){//returnaoftheobjecttoavoid//(center.getX(),center.getY());}publicstaticvoidmain(String[]s){System.out.println(newImmutableCircle(10,10,20));}//othermembersareelided...}上面的程序運行之後,列印:center:x=10,y=10andradius=20上面的程序體現了不可變類的以下幾點:·這個類被聲明成final,不可以被繼承,也不可以重載它的方法·這個類的成員變數都是final並且是私有的·因為成員變數center是一個引用類型,是可變的,所以在他的getter方法中,返回的是對point對象的拷貝設計一個不可變的類最關鍵的一點:要注意引用類型的成員變數,如果成員變數的類型是可變的引用類型,就必須要採取必要的措施來保護這個成員變數不會被修改不可變類不足的地方不可變對象同樣也有不足的地方。
為了保證不可變性,不可變類中的方法會創建出一定量的對象的拷貝。
例如,在上面的代碼中,每次調用getcenter方法都會新建並返回一個point對象的拷貝。
而假如我們只需要調用一次,返回一個point對象,就沒必要費盡心神的去設計一個不可變類,僅僅只需要一個可變的immutablecircle類就可以了。
String類在很多應用場景中都會用到,如果我們調用String類中trim,concat,或者是在循環中調用substring方法,都會創建一個新的臨時String對象。
同時,java也提供了Stringbuffer和Stringbuilder的可變類。
他們同String一樣,但是卻可以改變這個對象的內容。
所以,我們可以根據不同的場景使用String類或者Stringbuffer/Stringbuilder類。
總結,文章的最後還是那句話,要根據自己的實際需要,去設計代碼,而不要過度設計。
packagesample;
/**
*Createdbypseudoon15-9-16.
*/
publicclassTestClass{
privateStringname;
publicTestClass(Stringname){
this.name=name;
}
@Override
publicStringtoString(){
return"TestClass{"+
"name='"+name+'''+
'}';
}
}publicstaticvoidmain(String[]args)throwsException{
//載入要反射的類
Classclz=Class.forName("sample.TestClass");
//找到類的構造方法
Constructorconstructor=clz.getDeclaredConstructor(String.class);
//使用找到的構造方法創建實例
Objectinstance=constructor.newInstance("Lilei");
System.out.println(instance);
}
語法如下:
類 對象 = new 類構造方法();
實例:
public class Person{
String name;
char sex;
int age;
public static void main(String[] args){
//在main方法完成Person類的對象person創建
Person person1 = new Person();
}
}
你明白了嗎?
類的定義包括「成員變數」的定義和「方法」的定義,其中「成員變數」用於描述一類對象共同的數據結構。在Java語言中,類的成員變數的定義可以使用如下語法:
class 類名 {
成員變數類型變數名稱;
………
}
類是用class關鍵字來定義的一種抽象數據類型,類不但定義了抽象數據類型的組成(成員變數),同時還定義了對該類型可以實施的操作(方法),類名的首字母必須大寫。看如下代碼定義了雇員類:
/** 定義雇員類 */
public class Emp{
String name;
int age;
char gender;
double salary;
}
在如上的實例代碼中,僅僅定義了Emp類型的組成,即成員變數。該類定義了4個成員變數:String類型的name用於存放名字;int類型的age用於存放年齡;char類型的gender用於存放性別;double類型的salary用於存放工資。
1.用new語句創建對象,這是最常用的創建對象的方式。
2.運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
3.調用對象的clone()方法。
4.運用反序列化手段,調用java.io.ObjectInputStream對象的readObject()方法.
class TestInner{
public static void main(String [] args)
{
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
}
}
在內部類(Inner Class),可以隨意的訪問外部類的成員,這可讓我們更好地組織管理我們的代碼,增強代碼的可讀性。
2) public class Mammal{
public int weight; //類型根據需要定
protected int height;
int legs;
private int tail;
public void printWeight() {
System.out.println(「 The weight is: 」+weight);
}
protected void printHeight() {
System.out.println(「 The heigh tis: 」 + height);
}
void printLegs(){
System.out.println(「 The tail tis: 」+ tail);
}
private void printTail(){
System.out.println(「 The legs tis: 」+ legs);
}
}
3) public class Cat extends Mammal{
public void printWeight() {
System.out.println(「 The weight of the cat is: 」+weight);
}
}
哎, 沒有動力了, 不想寫了, 先給分吧, 有動力再寫吧