你的位置:首页 > Java教程

[Java教程]JAVA 入门第二章 (面对对象)


本渣渣鸽了一个月终于有时间更新。因为有c++基础,学起来这章还是比较简单的,本章我觉得是程序猿质变课程,理解面向对象的思想,掌握面向对象的基本原则以及 Java 面向对象编程基本实现原理,熟练使用封装、继承、多态面向对象三大特性,感受和c++之间的异同,下面是学习路线。

1.类和对象 

 1-1 什么是类和对象

 1-2 如何定义 Java 中的类

 1-3 如何使用 Java 中的对象 

 1-4 Java 中的成员变量和局部变量 

 1-5 Java 中的构造方法

 1-6 Java 中的 static 使用之静态变量

 1-7 Java 中的 static 使用之静态方法

 1-8 Java 中的 static 使用之静态初始化

2. 封装 

 2-1 什么是 Java 中的封装

 2-2 使用包管理 Java 中的类 

 2-3 Java 中的访问修饰符

 2-4 Java 中的 this 关键字

 2-5 什么是 Java 中的内部类

 

 3.继承 

 

 3-1 Java 中的继承 

 3-2 Java 中的方法重写

 3-3 Java 中的继承初始化顺序

 3-4 Java 中的 final 的使用

 3-5 Java 中的 super 的使用 

 3-6 Java 中的 Object 类

 

 4.多态 

 

 4-1 Java 中的多态

 4-2 多态中的引用类型转换 

 4-3 Java 中的抽象类

 

 4-4 Java 中的接口

 

 4-5 UML 

再配上一个比较综合练习题,编写一个控制台版的租车系统。

1.展示所有可租车辆

2.选择车型,租车量,租车天数

3.显示租车清单,包括总金额,总载货量,以及总计价格

最后附上我自己的源码

package 其其租车系统;import java.util.Scanner;import javax.print.DocFlavor.INPUT_STREAM;public class Test {  public static void main(String[] args) {    // TODO Auto-generated method stubScanner input=new Scanner(System.in);Smallcar c1=new Smallcar();int smallcarmoney[]=new int[10];int smallcarpeople[]=new int[10];Bus c2=new Bus();int busmoney[]=new int[10];int buspeople[]=new int[10];Pika c3=new Pika();int pikamoney[]=new int[10];int pikapeople[]=new int[10];int pikagoods[]=new int[10];Lorry c4=new Lorry();int lorrymoney[]=new int[10];int lorrygoods[]=new int[10];System.out.println("欢迎使用其其租车系统");System.out.println("1.租车 2.退出");int num1=input.nextInt();switch (num1) {case 1:  System.out.println("车型如下");  System.out.println("1.小车  载客:4人   拉货0kg    租金:100圆/天");  System.out.println("2.巴士  载客:30人  拉货0kg    租金:500圆/天");  System.out.println("3.皮卡  载客:4人   拉货200kg  租金:200圆/天");  System.out.println("4.卡车  载客:0人   拉货2000kg 租金:500圆/天");  System.out.println("请输入一共要租几辆车");  int num2=input.nextInt();  for(int i=1;i<=num2;i++){  System.out.println("请选择第"+i+"辆车型号");  int a=input.nextInt();  switch (a) {  case 1:    smallcarpeople[i]=c1.fun2();    smallcarmoney[i]=c1.money();    break;case 2:   buspeople[i]=c2.fun2();   busmoney[i]=c2.money();    break;case 3:    pikapeople[i]=c3.fun2();   pikamoney[i]=c3.money();   pikagoods[i]=c3.func1();  break;case 4:  lorrymoney[i]=c4.money();  lorrygoods[i]=c4.func1();  break;  default:    System.out.println("选择车型不存在");    break;  }  }  int money1=0;  for(int a:smallcarmoney){    money1+= a;  }  int money2=0;  for(int b:busmoney){    money2+= b;  }  int money3=0;  for(int c:lorrymoney){    money3+= c;  }  int money4=0;  for(int d:pikamoney){    money4+=d;  }  int money=money1+money2+money3+money4;  int people1=0;  for(int e:buspeople){    people1+=e;  }   int people2=0;    for(int f:smallcarpeople){      people2+=f;    }     int people3=0;      for(int g:pikapeople){        people3+=g;      }      int people=people1+people2+people3;      int goods1=0;      for(int h:lorrygoods){        goods1+=h;      }      int goods2=0;      for(int j:pikagoods){        goods2+=j;      }int good=goods1+goods2;  System.out.println("共可载"+people+"个人");  System.out.println(" 共可载"+good+"kg货物");  System.out.println("请输入租车天数");  int days=input.nextInt();  System.out.println("合计费用"+days*money+"圆");  break;case 2:  System.out.println("欢迎下次光临");  break;default:  System.out.println("输入错误");  break;}  }}

package 其其租车系统;public abstract class Car {public abstract int money();}

package 其其租车系统;public interface carrygoods {int func1();}

package 其其租车系统;public interface carrypeople {int fun2();}

package 其其租车系统;public class Smallcar extends Car implements carrypeople{public int money() {  // TODO Auto-generated method stub  return 100;}@Override  public int fun2() {    // TODO Auto-generated method stub    return 4;  }}

package 其其租车系统;public class Lorry extends Car implements carrygoods {public int money() {  // TODO Auto-generated method stub  return 500;}@Override  public int func1() {    // TODO Auto-generated method stub    return 2000;  }}

package 其其租车系统;public class Pika extends Car implements carrygoods,carrypeople {public int money() {  // TODO Auto-generated method stub  return 200;}@Override  public int fun2() {    // TODO Auto-generated method stub    return 4 ;  }@Override  public int func1() {    // TODO Auto-generated method stub    return 200;  }}

package 其其租车系统;public class Bus extends Car implements carrypeople{  public int money() {    // TODO Auto-generated method stub    return 500;  }@Overridepublic int fun2() {  // TODO Auto-generated method stub  return 30;}}

附上运行效果图