你这里的a2指向的对象是"I loveimooc"
而不是"I love imooc",两者本身就不是相等的。
学servlet,开始接触java web开发
Animal a1 = new Dog();//Animal的引用指向了Dog对象
Animal a2 = new Cat();//Animal的引用指向了Cat对象
Dog d1 = (Dog) a1 ;//将a1进行强制转换,父类到子类的转换。
Dog d2 = (Dog)a2;//报错,a2引用指向的是Cat对象,同个父亲下的子类无法转换,哪怕是强转。
推荐 第一行代码。
交钱可以的,后面应该学什么,在哪?
看你走什么方向,目前比较火的是web,可以学java web,javascript 、css、html
public interface IShape{ double GetArea(); } public class Circle implements IShape{ protected double r; protected static int NumberCircle=0; public Circle(){} //无参构造函数 public Circle(double r){ setR(r); } public void setR(double r){ this.r=r; } public double getR(){ return r; } public double GetArea(){ double area = r*r*Math.PI; NumberCircle++; return area; } }
可以的,jdk只是java的开发工具包,没有特殊要求,jdk1.7够用了。
刷新两下就好了
表示没有看懂你发的用意
看接下来自己想要干什么 java后台的编写要与数据库和前端相连接,看你自己需要什么了
b的值可以变啊,false只是他的初值;if(b=!b)这句代码每执行一次都将b值取反再赋值给b(即b在false和true不断变化)。
能不能说清楚点==
重做日志 REDO(作用就是当你8点做了很多事情,到10点由于数据库8点到10点操作的某个文件坏了,那么8点到10点的的东西全都不见了,但是REDO还在。你就可以用REDO来做重做你8点到10点所做的事,REDO就是记录了这样的事!)
当然这个表空间满了的时候也就不能回滚到它没记录的内容了
写这段代码的时候,只有上帝和我知道什么意思。 现在,只有上帝知道。 package com.imooc; import java.util.Scanner; public class Test { public static void main(String[] args) { String[] s = {"唐诗300首","格林童话","java编程思想","计算机操作系统"}; System.out.println("欢迎来到图书管理系统"); while(true) { int number = 0; while(true) { System.out.println("选择菜单 :输入1:进入书名查找模式 输入2:进入图书序列号查找模式"); Scanner sc = new Scanner(System.in); try{ number = sc.nextInt(); }catch(Exception a) { System.out.println("错误命令异常,请重新输入"); sc = null; continue; } if(number >=1 && number <=2) { break; }else { System.out.println("没有该选项!请重新输入"); } } if(number == 1) { while(true){ System.out.print("请输入要查找的书名:"); Scanner sc2 = new Scanner(System.in); String book = null; try{ book = sc2.nextLine(); }catch(Exception b) { System.out.println("错误命令异常,请重新输入!"); sc2 = null; continue; } boolean b = true; for(int x=0;x<s.length;x++) { if(s[x].equals(book)) { System.out.println(s[x]+"这本书存在!"); b = false; break; } } if(b) { System.out.println(book+"这本书不存在"); System.out.println("是否重新输入:是/否"); Scanner sc5 = new Scanner(System.in); if(sc5.nextLine().equals("是")) { continue; } } break; } }else if(number == 2) { while(true) { System.out.print("请输入要查找的序列号:"); int y; Scanner sc4 = new Scanner(System.in); try{ y = sc4.nextInt(); }catch(Exception c) { System.out.println("错误命令异常,请重新输入"); continue; } boolean flag = false; for(int x=0;x<s.length;x++) { try{ if(s[x].equals(s[y])) { System.out.println("序列号"+y+"为"+s[x]+"这本书存在!"); System.out.println("是否继续查询:是/否"); Scanner sc6 = new Scanner(System.in); String choose3 = sc6.nextLine(); if(choose3.equals("是")) { break; }else if(choose3.equals("否")){ flag = true; } break; } }catch(Exception e) { System.out.println("图书不存在异常!"); System.out.println("是否重新输入:是/否"); Scanner sc5 = new Scanner(System.in); String choose2 = sc5.nextLine(); if(choose2.equals("是")) { break; }else if(choose2.equals("否")){ flag = true; break; } } } if(flag) { break; } } } Scanner i = new Scanner(System.in); String choose = null; while(true) { System.out.println("是否返回选择菜单? 是/否"); try{ choose = i.nextLine(); break; }catch(Exception e) { System.out.println("输入的数值异常,请重新输入"); i = null; continue; } } if(!choose.equals("是")) { break; } } } }
集合类的排序应用啊,扑克牌的游戏就是这个应用原理啊
职业路径的顺序还是很不错的! 关键是自己还要扩展去学习!
还没到那么高的水平,我做一个猜想,这个功能的实现 是由用户键盘输入自己的信息 所以你肯定得需要一个Scanner了,输入后先存入系统的数据库,用户的帐号标记为实名制认证中(在数据库实现) 再者调用国家的身份证库,进行数据检索匹配,来检查输入的身份证与名字是否相符,是否满足18岁(这个看不同需求而定),两个条件均成立,再修改数据库中的用户帐号信息标记为实名制认证完成的用户
如果你定义员工为一个类的话,你需要将实例化并初始化好的员工类型数组一个个地添加到泛型为员工类型的容器中去,再通过容器中的索引位置对相对应的员工信息进行更改
已经找到问题所在了,是电脑的flash插件出了问题,已经调整好了
代码敲起来!
1.重写必须继承,重载不用。
2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同。
3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。
4.重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常
运行时异常也叫非检查异常,比如常见的NullPointException,ClassCastException。这种异常可以不使用try...catch进行处理,但是如果有异常产生,则异常将由JVM进行处理。与其相对的,检查异常是强制需要用户处理的异常。详参:http://blog.csdn.net/swpihchj/article/details/8058129
是的。error属于系统级别的错误,不受程序猿所控制。而exception就属于程序代码编写的异常
publick static void main(Srring[] args){
char[] zf={'a','b,'c','d'};
int sum=0;
for(int i=0;i<zf.length;i++){
sum+=zf[i];
}
System.out.println(sum);
}
抛异常是迟早要给某个类处理的。举个例子你就懂了。
假如说A方法掉调用-->B方法调用-->C方法。
然后在B和C方法里定义了throws Exception. A方法里定义了Try Catch。
那么调用A方法时,在执行到C方法里出现了异常,那么这个异常就会从C抛到B,再从B抛到A.
在A里的try catch就会捕获这个异常,然后你就可以在catch写自己的处理代码。
如果A里也是throws Exception,那么会一直向外抛异常,最后抛给Object,也就是java 虚拟机来处理。
为什么当时出现了异常不去处理呢?
1.你业务逻辑调用的是A方法,你执行了A方法,当然要在A里得到异常,然后来处理。如果在C里面就处理异常,这就破坏程序结构了。
2.A调用了C方法,假如还接着也调用了D,E,F方法,假如他们都有可能抛出异常,你说是在A里面获得处理一次好,还是在C,D,E,F得到了异常,每个都当时处理一下的好?
当时就处理异常理论上也是可以的,而且大多数时候,到底在哪处理异常,是要根据需求和项目的具体情况的。
是在有可能出错的位置就应该要用try catch