package com.dodoke2;
/**
* 类名 Person
*@author 邱银
*@version 2018年6月20号
*
*/
public class Person {
private String name;
private int age;
/**
* 空构造器
*/
public Person() {
}
/**
* 带参数的构造器
* 作用:赋值
*/
public Person(String name,int age) {
this.name = name;
this.age = age;
}
/**
* Getter用来调用,Setter用来赋值
* @param name字符串 , 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) {
this.age = age;
return;
}
System.out.println("年龄非法");
}
public String toString() {
return "Name:" + this.name +"," + "Age:" + this.age;
}
}
/**
* 类名 Student
*@author 邱银
*@version 2018年6月20号
*
*/
class Student extends Person {
private String school;
/**
* 重写构造器
*/
public Student(String name,int age,String school) {
super(name,age);
this.school = school;
}
}
/**
* 类名 Client1
*@author 邱银
*@version 2018年6月20号
*
*/
class Client1 {
/**
*main方法在控制台打印输出
*/
public static void main(String[] args) {
Person jack = new Person();
jack.setName("jack");
jack.setAge(20);
System.out.println(jack.toString());
}
}
1.JDk、JRE、JVM分别是什么?他们之间的关系是什么?(1).Jdk是Java开发工具包。
(2).JRE是Java运行时的环境。
(3).JVM是Java运行时的虚拟机。
JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。2.Java支持的数据类型有哪些?什么是自动拆装箱?
Java的数据类型包括基本数据类型和引用数据类型两大类。
基本数据类型包括整数类型、浮点类型和字符型。
整数型:byte、short、int、long。浮点型:double、float。
字符型:char。
布尔型:boolean
引用数据类型包括类类型、接口和数组。
自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱.3.什么是面向对象编程?面向对象编程的基本特征有哪些?请分别阐述对这些基本特征的理解。
在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。
面向对象的基本特征包括封装、继承和多态。
封装:隐藏方法的实现细节,让使用这只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问。
继承:继承是实现软件复用的重要手段,子类可以访问父类中的非private修饰的成员变量。
多态:Java引用类型变量有两种类型:一种是编译时的类型,一种是运行时的类型。如果运行时的类型和编译时的类型不一致就会出现所谓的多态。4.能否在static环境中访问非static变量?请说明理由。
不能,因为静态的成员属于类,随着类的加载而加载到静态方法区内存,当类加载时,此时不一定有实例创建,没有实例,就不可以访问非静态的成员。
5.我们说方法的参数传递是值传递,类变量在传递的时候,传递的是其引用地址,请简要说明你对这句话的理解,
可以图示和代码的方式解释。
方法的参数传递是拷贝值(基本数据类型是拷贝它本身的值,引用数据类型拷贝的是对象的引用,地址)副本
6.Java中的Overrriding和Overloading是什么意思?
Overloading:方法重载 如果在一个类中,两个或多个的方法方法名相同但形参列表不同,我们就把它成为方法重载。
Overrriding:方法重写 发生在子类和父类中间,重写方法也叫覆盖方法,当子类需要修改父类的某个方法时,需要进行方法重写7.请手写一个饿汉式的Sinleton类。
public class Singleton{private static final Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}