Genius夜光、序言:
心之所向 素履以往 生如逆旅 一苇以航
正文:
夜光:非静态成员变量与静态成员变量的有哪些区别?(10分)
数量上的区别:
(n份)非静态成员变量是在每个对象中都维护一份数据
(1份)静态成员变量只会在方法中维护一份数据。
访问方式上的区别:
非静态的成员变量只能使用对象进行访问.
静态成员变量可以使用对象、类名进行访问。
存储位置上的区别;
非静态成员变量是存储在堆内存中。
静态成员变量是存储在方法区中。
生命周期的区别:
非静态成员变量是随着对象的创建而存在,随着对象的消失而消失。
静态成员变量是随着类文件的加载而存在,随着类文件(字节码文件)的消失而消失。
作用上的区别:
非静态成员变量的作用是用于描述一类事物的属性。
静态成员变量的作用是提供一个共享数据给所有对象使用的。
夜光:编写一个功能函数,对int [] a = new int[]{34,4,56,12,2}进行降序排列。(10分 )
-
定义一个动物、鸟和乌鸦的类,并实现类之间的关系,要求每个类中都有自己的属性与方法。(10分)
- 代码:
- 动物类:
- 鸟类:
- 乌鸦类:
-
定义一个人类具备name、sex、age三个属性,还具备跑的行为,要求对属性进行封装,年龄只能赋值1-120岁,性别只能是男或者女。(10分 )
-
在第五题的基础上要求一旦创建人对象,人对象就有相应的属性值。提示:编写构造函数,并创建人对象,通过构造函数完成人对象的属性的初始化(10分)
/*
第5、6题答案如下
*/
abstract class People{
private String name;
private String sex;
private int age;
public People(){};
public People(String name,String sex,int age){
this.name=name;
this.sex=sex;
this.age=age;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getSex(){
return sex;
}
public void setSex(String sex){
if(sex.equals("男")||sex.equals("女")){
this.sex=sex;
}else{
sex="女";
}
}
public int getAge(){
return age;
}
public void setAge(int age){
if(age>=1&&age<=120){
this.age=age;
}else{
age=0;
}
}
public abstract void run();
}
class Person extends People{
public Person(){};
public Person(String name,String sex,int age){
super(name,sex,age);
}
public void run(){
System.out.println("Person run");
}
}
class Test{
public static void main(String[] args){
//第五题
Person p=new Person();
p.setName("zhang san");
p.setSex("男");
p.setAge(20);
System.out.println("name:"+p.getName()+",sex: "+p.getSex()+",age:"+p.getAge());
//第六题
Person p2=new Person("li si","男",18);
System.out.println("name:"+p2.getName()+",sex: "+p2.getSex()+",age:"+p2.getAge());
}
}
- 编写一个功能函数,实现0到指定整数之间奇数的个数统计。(10分)
代码:
import java.util.Scanner;
class Test{
public static void main(String[] args){
System.out.println("请输入一个整数");
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
int count=0;
for(int i=1;i<=num;i+=2){
count++;
}
System.out.println("0到"+num+"之间共有"+count+"个奇数");
}
}
- 编写一个函数模拟去坐车,如果没有带够两块钱,函数抛出一个”没有带够钱”的异常,如果已经带够了钱直接输出可以坐车。(10分)
class NoMoneyException extends Exception {
public NoMoneyException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
}
class Test {
public static void main(String[] args) {
try {
byBus(5);
} catch (NoMoneyException e) {
e.printStackTrace();
System.out.println("回家拿钱");
}
}
public static void byBus(int money) throws NoMoneyException {
if (money < 2) {
throw new NoMoneyException("没有带够钱");
} else {
System.out.println("可以坐车");
}
}
}
9. 简单描述单例模式解决的问题,并写出例子实现单例模式(只需要写出其中的一种即可)。(10分 )
单列模式解决一类问题的固定步骤
class Single{
Single s=new Single();
private Single(){}
public Single single(){
return s;
}
}
- 定义功能函数可以接收任意类型的图形,该函数还可以输出任何图形的面积和周长.例如 (有圆,矩形)10分)
- 代码:
- 附加题(10分)
使用java类描述 某某公司的门的实现过程,该公司的门具备普通门的所用属性与openDoor()和关门closeDoor()的功能。然后该公司对门进行另外的功能设计,防盗--theftproof()、防水--waterproof()、防弹--bulletproof() 要求利用继承、抽象类、接口的知识设计该门.
备注:附件题目不算入总分的,用于提升解决问题的能力的。
===========
十是一个分水岭,之前我们生命中都学到了什么?自己问内心嗯
1. JRE、JDK是什么
2. 配置path、JAVA_HOME、classpath的作用。
3. 配置classpath的时候加上分号与不加分号的区别?
1. 关键字、标识符 、注释的类型。
2. 变量的基本数据类型有那些?数据类型转换?
1. if 判断语句
2. while循环语句
3. switch语句
4. for循环语句。
5. continue、break关键字。
1. 函数的作用,函数的定义格式、函数的重载。
2. 数组、 直接排序、冒泡排序、折半查找法、
夜光:练习题目:
1. 定一个函数接收一个数组与一个要查找的目标元素,
3. 定义一个函数接受一个数组 ,对数组进行排序。
2. 现在有如下的一个数组:int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ,要求清除数组中为0的元素,然后存储非零的数据存储到一个新数组中。
1. 对象与类的概念。
2. 构造方法的基本概念、构造代码块的。构造函数与构造代码块的区别。
3. this关键字、this关键字 的作用?
夜光:练习题目:
1. 使用java类描述一个学生类,学生具备id、name、age三个属性、还有行走的方法。要求一旦创建学生对象,学生对象就具备了属性值。
2. 使用java类描述一个学生类,学生具备id、name、age三个属性、还有行走的方法,走的方法中也有一个局部变量name,怎样才可以指定访问到成员变量的name呢?学生还具备一个比较年龄的方法。