面向对象的编程关注与类的设计
设计类实际上是设计类的成员
基本的类的成员,属性(成员变量)&方法
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();}