JAVASE

^只有真真和假假爲假java

!  !true=false設計模式

$只有都爲true爲真其他都爲假數組

l 只有雙false爲假函數

雙的左邊對的就不執行 其他都同樣this

 一個數^同一個數兩次那麼等於一個數而不是那個數 好比(3^5)^5爲三spa

if else 能夠和三元運算符通用 當有具體結果時  用三元運算符設計

if能夠對具體的值進行判斷,能夠對區間進行判斷,對布爾類型的表達式進行判斷對象

switch對固定的值,具體的值,進行判斷繼承

X%X 相同數值爲0內存

無限循環while(true){}   for(;;){}

通常有循環次數的for條件whilel,另外for循環結束後變量消失 while結束後還能使用變量

棧內存:變量  變量所屬做用於一旦結束 變量就自動釋放

堆內存:數組和對象 你凡是new的都在堆裏 堆內存的變量只都有默認值 類型不一樣值不一樣 int是0  boolean false char

匿名函數:對象方法僅使用一次 

如:Car c=new Car();

c.run();

簡寫成 new Car().run();

private:

class Person{
//私有的只在本類中有效 即便建立對象也訪問不到
private int age;
void speak(){
System.out.println("age"+age);
}
}
public class JiChen_demo {

public static void main(String[] args) {

//這裏即便new也訪問不了
}

}

 

構造函數:沒有返回值由於它是方法 方法名和類名一致  沒有返回值

 通常沒有定義構造函數默認也有函數比l如class demo{//裏面有demo(){}}

何時用呢?在描述事物時,已經存在一些細節那麼用定義在構造函數裏

  1. class Person{  
  2.        private String name ;  
  3.        private int age ;  
  4.   
  5.        //定義一個Person類的構造函數  
  6.        //構造函數,並且是空參數的  
  7.       Person(){  
  8.             System.out.println("person run");  
  9.       }  
  10.   
  11.        public void speak(){  
  12.             System.out.println(name + ":" + age);  
  13.       }  
  14. }  
  15.   
  16. class ConsDemo{  
  17.        public static void main(String[] args){  
  18.              //構造函數:構建創造對象時調用的函數  
  19.              //做用:能夠給對象進行初始化  
  20.            Person p = new Person();  
  21.             p.speak();  
  22.       }  
  23. }  

 

 

  1. class Person_1{  
  2.           private String name ;  
  3.           private int age ;  
  4.         
  5.           Person_1(){  
  6.                    name = "baby" ;  
  7.                    age = 1;  
  8.                    System.out.println("person run");  
  9.           }  
  10.   
  11.           //若是有的孩子一出生就有名字  
  12.           Person_1(String n){//有參構造器  
  13.                  name = n;  
  14.           }  
  15.               
  16.            //若是有的孩子一出生就有名字和年齡  
  17.           Person_1(String n, int a){//有參構造器  
  18.   
  19.                  name = n;  
  20.                  age = a;  
  21.           }  
  22.               
  23.           public void speak(){  
  24.               System.out.println(name + ":" + age);  
  25.           }  
  26. }  
  27.   
  28. class ConsDemo_1{  
  29.        public static void main(String[] args){  
  30.            Person_1 p1 = new Person_1();//建立對象Person_1的同時,已經調用了無參構造函數了。  
  31.             p1.speak();  
  32.             Person_1 p2 = new Person_1("家儀" );  
  33.             p2.speak();  
  34.             Person_1 p3 = new Person_1("張家" ,10);  
  35.             p3.speak();  
  36.       }  
  37. }  
  38. person run
    baby:1
    家儀:0
    張家:10

this:調用的就是所在函數所屬對象的引用 所在函數就是好比構造函數Person(String name){this.name=name} 所在對象就是Person p1=new Person("哈哈");

this在那個函數,那個函數屬於那個對象 就是this的原理

 this也能夠調用其餘函數

person(string name){

this.name=name;

}

Person(String name,int age){

this(name);//要放在第一行

this.age=age;

}

static:靜態修飾後 不須要建立對象直接輸出能夠打印

好比:class Person{

String name;

static String guoji="CN";

public void show(){

sop(guoji+":"+name);

}

class abc{

主函數{

sop(Person.guoji);

}

}

}

靜態變量 能夠對變量進行調用 類名也能夠調用

靜態方法只能訪問靜態成員(變量和函數),好比以下代碼:

class Person{

String name;

static String country ="CN";

}

public static void show(){

sop(name=":"+country);//報錯了 由於有非靜態

}

class StaticDemo{

主函數{

Person.show();

}

靜態中不能this和super關鍵字方法 記住哦主函數是靜態的

靜態何時:只能修飾成員(附屬修飾函數這就是何時用)好比我變量有特有數據是相同的,函數要不要修飾就看一點,是否訪問到這個特有的對象

靜態代碼塊隨着類的執行而執行,用於初始化(好比我有不少靜態成員我須要一個計算 在static{}裏執行後直接能夠用了)

好比class StaticDemo{

static{

}

class xx{主函數}

 

\{構造函數代碼塊 能全部的對象初始化} 好比我下面有個構造函數 輸出娃娃 在構造代碼塊裏放入那個函數就因此娃娃了

 

設計模式就是解決問題的方法,單例設計:一個類在內存裏的對象惟一性

必須對多個程序使用同一個配置信息時,就必須對該對象保證惟一性

如何保證惟一性:

1.私有化該類的構造函數

2.經過new在本類中建立一個本類對象

3.定義一個公有的方法,將建立的對象返回

 

javase支持單繼承就是class A{} classB{}class C extends classA()  可是不支持多繼承就是classC extends classA,B

java裏支持多繼承 C繼承B B繼承A

相關文章
相關標籤/搜索