2018年6月20日 周测

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;  
    }  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值