java几个easy出错的小程序
把基本知识过了一遍,发现了几个自己easy 出错的小程序,记录下来。。
。。
1。关于try-catch异常
2,JAVA中的自省机制
3。有继承关系的类中静态函数
1,关于try-catch异常
package chapter5;
public class p101 {
public static void main(String args[])
{
int a[]=new int[3];
try{
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=3/0;
}catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("index out of bounds!");
e.printStackTrace();
}catch(ArithmeticException e)
{
System.out.println("divided by zero!");
}
}
}
输出结果为:divided by zero!
首先运行的是:赋值语句右边的3/0;所以捕获的是 ArithmeticException异常
2,java中的自省机制
自省是软件分析自己的能力,这个能力由java.lang.reflect包中的类和接口提供。
为了实现自省操作。另一个类必须使用,即Class类。 Class 类定义在java.lang包中,Class类没有public的构造函数。java虚拟机会构建Class对象。通过forName方法能够获得这个对象。
自省功能不仅能够获得系统自带的类的各种信息(Class c=Class.forName("java.lang.Class"); 也能够获得程序猿自定义的类的各种信息。
package chapter12;
import java.lang.reflect.*;
class myc{
public int x,y;
public myc()
{
x=y=0;
}
public myc(int a,int b)
{
x=a;y=b;
}
}
public class p275 {
public static void main(String args[])
{
try{
System.out.println("123");
myc a=new myc();
Class c=a.getClass();
Constructor con[]=c.getConstructors();
for(int i=0;i<con.length;i++)
System.out.println(con[i]);
}
catch(Exception e)
{
System.out.println("Exception"+e);
}
}
}
运行结果:
123
public chapter12.myc()
public chapter12.myc(int,int)
3。程序的输出结果:
public class p37_1 {
public static void main(String args[]){
Father father=new Father();
Father child=new Child();
System.out.println(father.getName());
System.out.println(child.getName());
}
}
class Father{
public static String getName(){
return "father";
}
}
class Child extends Father{
public static String getName(){
return "son";
}
}
输出:
Father Father
这两个getName方法时静态方法。所以在内存中的地址是固定的,根本不存在冲突的问题。
详细运行哪一个。要看是由哪个类来调用的,由于是静态方法,并且两个引用都是father的。所以仅仅会调用father的方法。
java几个easy出错的小程序的更多相关文章
- 前端,Java,产品经理,微信小程序,Python等资源合集大放送
为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...
- Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解
Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...
- 利用java开发一个双击执行的小程序
之前我们利用java写了很多东西,但是好像都没有什么实际意义. 因为有意义桌面小程序怎么都得有个界面,可是界面又不太好搞.或者 了解到这一层的人就少之又少了. 呀,是不是还得开辟一些版面来介绍awt和 ...
- Java后端使用socketio,实现小程序答题pk功能
在使用socket.io跟前端通信过程中,出现了一系列问题,现做下记录. 一.功能需求是,在小程序端,用户可相互邀请,进入房间后进行答题PK.实现方法是,用户点击邀请好友,建立连接,查询当前是否有房间 ...
- python3 捕捉代码行出错的小程序
下面主要使用的是: try .. except .. else .. finally ...,用的是 traceback 这个第三方模块. import traceback #捕捉哪行代码报错 def ...
- java使用dbutils工具类实现小程序 管家婆记账软件
1.所需创建的包和 jar包 2.创建表结构 #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...
- java实现一个简单的爬虫小程序
前言 前些天无意间在百度搜索了一下以前写过的博客 我啥时候在这么多不知名的网站上发表博客了???点进去一看, 内容一模一样,作者却不是我... 然后又去搜了其他篇博客,果然,基本上每篇都在别的网站上有 ...
- java多线程实现卖票小程序
package shb.java.demo; /** * 多线程测试卖票小程序. * @Package:shb.java.demo * @Description: * @author shaobn * ...
- 首次编译Java小程序
public class helloworld { public static void main(string[] args) { system.out.println("hello wo ...
随机推荐
- 使用Docker调试Asp.Net Core
使用 Docker 进行部署 目前还是使用将发布出来的文件打包进docker镜像的形式 $ docker build -t pims . $ docker run --name pims --rm - ...
- C# 数组 二维数组
数组:相同数据类型的元素按一定顺序排列的集合.是一组变量 作用:操作大量数据 数组的定义1.数组里面的内容必须是同一类型2.数据必须有长度限制 ...
- groovy编程注意事点
集合中一些方法工作在集合的一个副本上并且完成的时候返回这个副本,而另外一些方法直接操作这个集合对象. 和Java一样不能通过迭代移除元素. list和map遵循java规则限制,但通过附加的方法降低了 ...
- Power of Matrix(uva11149+矩阵快速幂)
Power of Matrix Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit St ...
- 大明A+B(hdu1753)大数,java
大明A+B Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- Humble Numbers(hdu1058)
Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- C#生成二维码,裁切边框
使用google zxing生成的二维码带有白色边框,显示在报告(使用Crystal Report 水晶报表)上时,由于空间有限造成二维码过小难以扫描识别. 通过将白色边框裁切掉,可以在有限的空间内最 ...
- Hadoop HDFS 的 HttpFS
参考 Hadoop权威指南 第3章中3.4节 背景 要写一个操作HDFS的web后台(文件CRUD),虽然可以直接使用HDFS提供的FileSystem类然后通过get方法获取到一个Distribut ...
- BZOJ2707: [SDOI2012]走迷宫(期望 tarjan 高斯消元)
题意 题目链接 Sol 设\(f[i]\)表示从\(i\)走到\(T\)的期望步数 显然有\(f[x] = \sum_{y} \frac{f[y]}{deg[x]} + 1\) 证明可以用全期望公式. ...
- 【代码笔记】iOS-在Block中修改外部变量值的
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...