一、java中对象数组?
首先我们需要创建一个class: class Student{ String name; double score; String num; Student(String n,double s,String m){ name=n; s=score; num=m; } public static void printInfo(){ System.out.println(num+","+name+","+score); } } 接下来我们对此类进行数组的创建: //1 Student stu[]; //声明数组。 stu=new Student [3]; //创建数组,这里是创建的一个引用的数组,每一个引用并没有确切的地址。 for(int i=0;i //为数组创建对象,也就是说为创建的引用关联到确切的地址。 stu[i]=new Student(); } //2 Student stu[]=new Student [3]; for(int i=0;i
二、java中如何定义接口?
接口定义:
1、接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
2、接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
3、接口其实是一个特殊的抽象类,特殊在接口是完全抽象的。4、接口中没有构造方法,接口也无法实例化。5、接口中只能出现常量和抽象方法。6、一个类可以实现多个接口,这里的实现等同于继承。7、接口和接口之间可以多继承。8、一个非抽象的类实现接口,需要将接口中所有方法实现/重写/覆盖。
三、java中怎样导入图片?
代码示例:
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class ImgPanel extends JPanel {
private static final long serialVersionUID = 1L;
private Image imgBack;
private boolean backResize;
/**
* 构造方法
* @param arg0 背景图片 Image 类
* @param arg1 背景图片是否根据Panel大小自行缩放
*/
public ImgPanel(Image arg0, boolean arg1) {
imgBack = arg0;
backResize = arg1;
}
protected void paintComponent(Graphics g) {
if (backResize) {
g.drawImage(imgBack, 0, 0, getWidth(), getHeight(), null);
} else {
g.drawImage(imgBack, (getWidth()-imgBack.getWidth(null))/2, (getHeight()-imgBack.getHeight(null))/2, null);
}
}
}
四、java中根号√怎么表示?
Math.sqrt(4) ;
public static double sqrt(double a)
返回正确舍入的 double 值的正平方根。特殊情况如下:
如果参数为 NaN 或小于 0,那么结果为 NaN。
如果参数为正无穷大,那么结果为正无穷大。
如果参数为正 0 或负 0,那么结果与参数相同。
否则,结果为最接近该参数值的实际数学平方根的 double
值。
参数:
a - 一个值。
返回:
a 的正平方根。如果参数为 NaN 或小于 0,那么结果为 NaN。
五、java中nextString()怎么用?
nextLine(); 就是读取下一行nextInt();就是下一个数字,如中间你输入非数字,则不运行,直到输入数字为止;nextString();不知道你说的是哪个类里面的
六、java中什么是事物?
事务是对数据库操作的一种保护机制。
我举一个例子作为说明:
银行转账案例,Java中是将用户A的钱减少,再将用户B的钱增加来实现的。这对应了两个方法,如果前者运行成功,用户A钱变少了,而后者运行失败了,用户b的钱并没有增加,这样显然是不合适的。
而事务的保护在于,这两个方法必须要同时成功,如果失败了一个,另一个也会回到最先开始的状态
七、java中的冒泡排序?
public void bubbleSort(int[] data, String sortType) {
if (sortType.equals("asc")) { //正排序,从小排到大
//比较的轮数
for (int i = 1; i < data.length; i++) {
//将相邻两个数进行比较,较大的数往后冒泡
for (int j = 0; j <
data.length
- i; j++) {
if (data[j] > data[j + 1]) {
//交换相邻两个数
swap(data, j, j + 1);
}
}
}
} else if (sortType.equals("desc")) { //倒排序,从大排到小
//比较的轮数
for (int i = 1; i < data.length; i++) {
//将相邻两个数进行比较,较大的数往后冒泡
for (int j = 0; j <
data.length
- i; j++) {
if (data[j] < data[j + 1]) {
//交换相邻两个数
swap(data, j, j + 1);
}
}
}
} else {
System.out.println("您输入的排序类型错误!");
}
printArray(data);//输出冒泡排序后的数组值
}
八、java中“\\\\”和“\\\\\\\\”代表什么?
“\”是转义字符,“\\”表示的是一个"\",以此类推,“\\\\”表示两个"\";\\\\\\\\”表示的是四个"\"。
这个时候就有个“规定”,用"\n"表示换行,用"\t"表示Tab制表符,其中的斜杠("\")叫做转义符,表示转义符后面第一个字母不表示普通字母的意思。
那么如果我就要显示一段含有斜杠的字符串内容,例如"abc\d\efg"怎么办?
1、直接写一个斜杠会被认为是转义符,不仅不会被Java理解为一般的斜杠字符,
2、而且还会发生错误(例如没有\d这种转义规定),
3、所以,当要显示普通斜杠的时候,就要在斜杠前加一个转义符也就是斜杠,用两个斜杠("\\")来告诉Java是要表达一个普通斜杠字符的意思。
4、以此类推,四个斜杠就是表达两个普通斜杠字符的意思,等等。
九、Java中枚举怎么遍历?
我们可以通过反射, 以及枚举类的静态方法values()来进行遍历:代码:enum Rating { UNRATED, G, PG, PG13, R, NC17 } public class Test { public static void main(String args[]) { System.out.println("第一种通过反射"); Class clz = Rating.class; for (Object obj: clz.getEnumConstants()) { System.out.println(obj); } System.out.println("第二种通过枚举静态方法values()"); for (Rating rate: Rating.values()) { System.out.println(rate); } } }运行结果: 第一种通过反射 UNRATED G PG PG13 R NC17 第二种通过枚举静态方法values() UNRATED G PG PG13 R NC17
十、JAVA中反射是什么?
Java反射指的是对于任何的一个java类,我们都可以通过反射获取到这个类的所有属性和方法(包含私有的属性方法),使用java反射我们也可以调用一个对象的任何方法。
我们知道Java是一门面向对象编程的语言,我们编程的时候,经常会将类的属性进行封装,然后提供public方法进行属性的设置和获取。类的属性我们通常会设置成private的私有属性,为的就是保护对象属性不被随意地修改和访问。但是反射机制却恰恰相反,通过反射,我们可以获取到这些被保护的属性和方法,并且可以修改和访问他们。
在java中我们可以使用object对象的getClass();方法获得Class的对象classObject;语法格式为 Class classObject = object.getClass() ;可以根据Class对象的方法获取object对象的相关属性和方法;
获取object对象的名字可以使用 classObject.getName();获取类的名称,获取到的结果包含包的名称;
获取object对象的包名称,可以使用classObject.getPackage();获取包的名称;
获取object对象的所有public属性,可以使用classObject.getFields();方法,返回列表是属性类Field[]对象列表;
获取object对象所有属性,可以使用classObject.getDeclaredFields();方法,返回的是所有属性列表(包含private属性);
获取object对象某个特定的属性,可以使用classObject.getField( fieldName );可以根据属性名称获取属性类的对象;
获取object对象private属性,可以使用classObject.getDeclaredField( fieldName );根据属性名获取属性对象信息;
获取object对象public方法,使用classObject.getMethods();可以获取到方法类Method[]对象列表;
获取object对象某个特定的public方法,使用classObject.getMethod( funName , Class…… parameterTypes);根据方法名和方法参数类型列表,可以获取到方法类的对象;
获取object对象所有方法(包含private方法);使用classObject.getDeclaredMethods();可以获取所有的方法对象列表;
获取object对象某个特定方法(包含private方法),使用classObject.getDeclaredMethod ( funName, Class…… parameterTypes );根据方法名和方法参数类型列表,可以获取到类的特定方法(包含private方法);
获取object对象类中所有的public构造方法,可以使用classObject.getConstructors(); 获取到构造类Constructor的对象列表;
获取object对象类中某个特定的构造方法,可以使用classObject.getConstructor( Class…… parameterTypes ); 根据参数类型列表,获取指定的构造函数对象;
获取object对象类中所有的构造方法(包含private),可以使用classObject.getDeclaredConstructors(); 获取到构造类Constructor的对象列表;
获取object对象类中某个特定的构造方法(包含private),可以使用classObject.getDeclaredConstructor( Class…… parameterTypes ); 根据参数类型列表,获取指定的构造函数对象;
以上就是关于Java反射的基础知识。
- 相关评论
- 我要评论
-