面向對象,局部變數和成員變數
面向對象的編程關注與類的設計
設計類實際上是設計類的成員
基本的類的成員,屬性(成員變數)&方法
1、設計類,並設計類的成員(成員變數&成員方法)
2、通過類,來創建類 的對象(累的實例化用new)
3、通過「對象.屬性」或「對象.方法」來調用,來完成相應的功能
二、創建多個對象,彼此各自擁有一套類的屬性。當對其中一個對象的屬性進行修改是,不會影響其他對象的屬性值
三、類的屬性(成員變數)
成員變數vs局部變數
相同點:1、遵循變數聲明的格式:修飾符 數據類型 變數名=初始化值
2、都有作用範圍
不同點:1、聲明的位置的不同:成員變數:聲明在類里方法外局部變數:聲明在方法內,方法的形參部分,代碼塊內
2、成員變數的修飾符有四個:public private protected 預設局部變數沒有修飾符,與所在方法的修飾符相同
3、初始化值:一定會有初始化值
成員變數:如果在聲明的時候,不顯示的賦值,那麼不同數據類型會有不同的默認初始化值。byte short int long==>0
float double==>0.0
char ==>空格
boolean==>false
引用類型變數==>null
局部變數,一定要顯示初值,(局部變數沒有默認的初始化值)
4、二者在內存中存放的位置:成員變數存放於堆空間中,局部變數在棧空間中
總結;關於變數的分類:1、按照數據類型的不同,基本數據類型和引用數據變數
2、按照聲明位置的不同:成員變數和局部變數
package keshang;
public class jisuanqi {
public int add (int a,int b){
return a+b;
}
public int jian (int a,int b){
return a-b;
}
public int cheng (int a,int b){
return a*b;
}
public double chu (double a,double b){
if(b!=0){
return(a/b);
}
}
public static void main(String[] args) {
jisuanqi i=new jisuanqi;
int c=i.add(2, 7);
System.out.println(c);
int d=i.jian(6, 4);
System.out.println(d);
int e=i.cheng(6, 4);
System.out.println(e);
double f=i.chu(9.5, 4.9);
System.out.println(f);}
計算器的另一種寫法:
public double zonghe(double a,double b,String f){
double c=0;
if(f.equals("+")){
c=a+b;
}else if(f.equals("-")){
c=a-b;
}else if(f.equals("*")){
c=a*b;
}else{
c=a/b;
}
return c;
}
}
public static void main(String[] args) {
jisuanqi j=new jisuanqi;
double d=j.zonghe(7, 15, "*");
System.out.println(d);}
汽車的面向對象
public class Car {
public String pingpai;
public double price;
public double youhao;
public double gonglishu;
public double youxiangrongliang;
public double licheng;
public double shengyuyouliang;
public Car{
}
public Car(String _pingpai, double _youhao,double _price,double _youxiangrongliang,double _shengyuyouliang){
pingpai=_pingpai;
price=_price;
youhao=_youhao;
youxiangrongliang=_youxiangrongliang;
shengyuyouliang=_youxiangrongliang-1;
}
public void run ( double gonglishu ){
double d =(gonglishu/100)*youhao;
shengyuyouliang=shengyuyouliang-d;
if(shengyuyouliang<=15){
System.out.println("油量過低");
}
System.out.println("行駛"+gonglishu+"公里"+","+"共消耗"+d+"L汽油...");
}
public void showinfo{
System.out.println("品牌:"+"起亞");
System.out.println("價格:"+15.88);
System.out.println("油耗:"+10);
System.out.println("油箱容量:"+60);
System.out.println("公里數:" + gonglishu);
System.out.println("剩餘油量:" + shengyuyouliang);
}
}
public static void main(String[] args) {
Car car=new Car("byd", 10,15.88,60,59);
car.showinfo;
car.run(530);
car.showinfo;}
※Nginx 反向代理、負載均衡
※ASP.NET CORE小試牛刀:乾貨
※擴展SQLite使其能從apk文件中讀取db
TAG:達人科技 |
※C 的變數
※東歐局勢出現變數
※心得體會:全局變數的引用和修改
※如何生成潛變數相關係數矩陣
※什麼是環境變數?
※想變得更強大,瑜伽就是最好的階梯,讓你從容面對未來變數
※人有定數,也有變數!
※變數、數據類型、標識符
※土與美英法的矛盾,將是敘局勢的變數,俄土伊成為最大反美勢力
※一個物體的質量是否變數,取決於參照系?
※定數就被稱為先天,變數就稱為後天,人有定數,也有變數!
※柯文哲既有定數也有變數
※VBA之數據類型和常量與變數
※正確理解命運的定數與變數
※JS 中對變數類型的判斷
※全球晶元格局神逆轉,7納米大熱變大冷,中國恐成最大變數
※c++ 反射機制:用類名作變數,動態創建對象
※關於命理中的定數和變數的存在
※正確理解命運的定數與變數!
※你的也是我的 3例ko多線程,局部變數透傳