一般报java.lang.NullPointerException的原因有以下几种:
创新互联公司主要从事成都网站制作、网站建设、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务友好,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
1.类没有初始化,例如定义了个String,List,Map 等对象没有初始化就直接使用,肯定会出空指针错误,正确初始化如下:
String str="";
List list = new ArrayList();
Map map = new HashMap();
2.当一个对象的值为空时,你没有判断为空的情况。
你可以试着把下面的代码前加一行代码:
if(rb!=null rb!="")
改成:
if(rb==null);
if(rb!==null!"".equals(rb))
当然还可以多做一个判断,是否不为空字符串
if(rb!==null!"".equals(rb.trim()))
判断字符串是否为空在java中比较好的写法是
if(rb!=null!"".equals(rb.trim()))
3.在使用框架,例如Spring的时候成员对象是通过注入进来的,需要注意一下两点:
1)成员变量必须有get set 方法
2)必须在配置文件中把实例化好的对象注入进来
接口和类全在一个包下,如果不在一个包下记得import调用,show的重写你根据需要自己改
//ShouFei 接口
public interface ShouFei {
public void fuFei(double mileage);
public void show();
}
//Bus类
public class Bus implements ShouFei{
String airConditioning;
double money;
public Bus(String airConditioning){
this.airConditioning = airConditioning;
}
@Override
public void fuFei(double mileage) {
if(airConditioning.equals("空调")){
money = 2;
}else{
money = 1;
}
}
@Override
public void show() {
System.out.println("公交车,"+airConditioning+",费用:"+money);
}
}
//Taxi类
public class Taxi implements ShouFei{
double mileage;
boolean isDay;
double money;
public Taxi(boolean isDay){
this.isDay = isDay;
}
@Override
public void fuFei(double mileage) {
this.mileage = mileage;
//判断是否为白天
if(isDay){
//判断里程数是否大于三公里
if(mileage3){
money=8;
}else{
money = 8 + (mileage-3)*1.5;
}
}else{
if(mileage3){
money=10;
}else{
money = 10 + (mileage-3)*1.5;
}
}
}
@Override
public void show() {
System.out.print("出租车,");
if(isDay){
System.out.print("白天");
}else{
System.out.print("晚上");
}
System.out.println(",里程数:"+mileage+"收费:"+money);
}
}
//测试类
public class Test {
public static void main(String[] args) {
Bus bus = new Bus("空调");
bus.fuFei(10);
bus.show();
Taxi taxi = new Taxi(true);
taxi.fuFei(20);
taxi.show();
}
}
一嗨租车纯粹垃圾中的战斗机,我的押金过了一个半月才退还。违章保证金到现在2个月了还没有音讯。电话打了几十个了,郁闷
我们先来理解一下什么叫做方法,通俗一点来说:在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。如:小明同学在路边准备坐车来学校学习。这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可采用坐公交车或坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称为方法。在java中,方法就是用来完成解决某件事情或实现某个功能的办法。方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。
我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。方法,一般都有一个返回值,用来作为事情的处理结果。
方法的语法格式
在Java中,声明一个方法的具体语法格式如下
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
执行语句
………
return 返回值;
}