java类面试题及编程题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Bubble1210/article/details/50685377

一程序题

1编写一个圆类Circle,该类拥有: 
①一个成员变量 
Radius(私有,浮点型);  // 存放圆的半径; 
       ②两个构造方法 
          Circle( )                 // 将半径设为0 
          Circle(double  r )         //创建Circle对象时将半径初始化为r        ③ 三个成员方法 
            double getArea( )       //获取圆的面积             double getPerimeter( )   //获取圆的周长 
            void  show( )          //将圆的半径、周长、面积输出到屏幕 (2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有: 
①一个成员变量 
double hight(私有,浮点型);  // 圆柱体的高; 
       ②构造方法 
          Cylinder (double r, double  h )           //创建Circle对象时将半径初始化为r 
       ③ 成员方法 
            double getVolume( )             //获取圆柱体的体积 
            void  showVolume( )             //将圆柱体的体积输出到屏幕 
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。






2.定义一个表示学生信息的类Student,要求如下:  (1)类Student的成员变量: 
sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。 
 (2)类Student带参数的构造方法:  
在构造方法中通过形参完成对成员变量的赋值操作。 (3)类Student的方法成员: getNo():获得学号;  getName():获得姓名;  getSex():获得性别; getAge()获得年龄; 
getJava():获得Java 课程成绩 
(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。 


3.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

二概念以及知识点

1.String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?

没有。因为String被设计成不可变类,所以它的所有对象都是不可变对象。
在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操
作,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。


2.是否可以继承String类?

final表示最终的,用在类修饰符上表示此类不能被其他类扩展。string是final的,不可以继承。


3.String s = new String("xyz");创建了几个String Object?二者之间有什么区别?

一个或两个。常量池里有没有"xyz",如果有直接引用,此时只创建了一个对象,如果没有则创建再引用,则创建了两个


4.数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有length()这个方法。


5.请说出作用域public,private,protected,以及不写时的区别

public 声明的为公共成员变量和函数成员,在整个类内类外都可使用。 
private 声明的为私有成员变量和函数成员,只在声明的类内可以使用。 
protected声明的为受保护成员变量和函数成员,类外不可使用。类内可以使用。 
不使用关键字默认为类内使用。 


6.面向对象的编程语言有哪4个主要的特征。

抽象性、封装性、继承性和多态性


7.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?(探究一下对象的equal方法和hashcode方法)

不对,有相同的 hash code
这是java语言的定义:
1) 对象相等则hashCode一定相等;
2) hashCode相等对象未必相等


8.能不能自己写个类,也叫java.lang.String?

不能,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String


9.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以,限制:一个文件中只能有一个public类,并且此public类必须与文件名相同


10.是否可以继承String类型?

string是final的,不可以继承。

猜你喜欢

转载自blog.csdn.net/Bubble1210/article/details/50685377