public class Person {
private String name;
private int age;
public Person(){};
public Person(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return this.age;
}
public void setAge(int age){
if(age <= 0 || age > 140) {
System.out.println("年龄非法");
} else {
this.age = age;
}
}
public String toString(){
return "Name:" + this.name + ",Age:" + this.age;
}
}
public class Student extends Person {
private String school;
public Student(String school){
super("jack",20);
this.school=school;
}
public String getSchool(){
return school;
}
public void setSchool(){
this.school = school;
}
}
public class Client {
public static void main(String[] args) {
Person jack = new Person("Jack",20);
System.out.println(jack.toString());
}
}
1,JDK,JRE,JVM分别是什么?他们之间的关系是什么?
JDK:JAVA开发工具包
JRE:JAVA运行时的工具
JVM:JAVA虚拟机
关系:
jdk
包含jre和tools(工具类),而jre下包含类库和jvm
2.Java支持的数据类型有哪些?什么是自动拆装箱
基本数据类型包括整数型(byte,short.int,long),浮点型(float,double),布尔型(boolean)
引用数据类型(类类型,接口,数组)
自动拆装箱:
Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化,反之就是自动拆箱。
3.什么是面向对象编程?面向对象编程的基本特征有哪些?请分别阐述对这些基本特征的理解。
把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为
封装:隐藏类方法实现的细节;让使用者只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问
继承:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个
多态:不同的对象对同一事物而做出的相同行为,在方法参数中,使用多态可以提高参数的灵活性
4.能否在static环境中访问非static变量?说说理由。
不能,因为static变量是属于类的,在类加载的时候就被初始化了,这时候非静态变量并没有加载,故静态变量不能访问。
5.我们说方法的参数传递是值传递,类变量在传递的时候,传递的是其引用地址,请简要说明你对这句话的理解,可以图示和代码的方式解释
方法的参数传递,如果传递的是基本数据类型,创造副本修改值时不修改原来的值,如果传递的是引入基本类型,传进来的是储存在堆内存的地址,当引入基本类型的值改变时,引入地址里的值也发生改变。
6.Java中的Overriding和Overloading是什么意思?
Overriding:
子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型
Overloading:
方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同
7.请手写一个饿汉式的Singleton类
public class Singleton {
private static Singleton singleton = null;
private Singleton() {
}
public static Singleton getInstance() {
//对象实例化
if(singleton == null) {
singleton = new Singleton();
}
return singleton;
}
}
5155

被折叠的 条评论
为什么被折叠?



