Java工程师培训课(十)

Genius夜光、序言:

心之所向 素履以往 生如逆旅 一苇以航

 

正文:

 

夜光:非静态成员变量与静态成员变量的有哪些区别?(10分)

数量上的区别:

(n份)非静态成员变量是在每个对象中都维护一份数据

(1份)静态成员变量只会在方法中维护一份数据。

 

访问方式上的区别:

非静态的成员变量只能使用对象进行访问.

静态成员变量可以使用对象、类名进行访问。

 

存储位置上的区别;

非静态成员变量是存储在堆内存中。

静态成员变量是存储在方法区中。

 

生命周期的区别:

非静态成员变量是随着对象的创建而存在,随着对象的消失而消失。

静态成员变量是随着类文件的加载而存在,随着类文件(字节码文件)的消失而消失。

 

作用上的区别:

非静态成员变量的作用是用于描述一类事物的属性。

静态成员变量的作用是提供一个共享数据给所有对象使用的。

 

 

夜光:编写一个功能函数,对int [] a = new int[]{34,4,56,12,2}进行降序排列。(10分 )

 

 

  1. 定义一个动物、鸟和乌鸦的类,并实现类之间的关系,要求每个类中都有自己的属性与方法。(10分)

    1. 代码:
    2. 动物类:
    3. 鸟类:
    4. 乌鸦类:

 

 

  1. 定义一个人类具备name、sex、age三个属性,还具备跑的行为,要求对属性进行封装,年龄只能赋值1-120岁,性别只能是男或者女。(10分 )

  2. 第五题的基础上要求一旦创建人对象,人对象就有相应的属性值。提示:编写构造函数,并创建人对象,通过构造函数完成人对象的属性的初始化(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());

}

}

 

  1. 编写一个功能函数,实现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+"个奇数");

}

}

 

 

  1. 编写一个函数模拟去坐车,如果没有带够两块钱,函数抛出一个”没有带够钱”的异常,如果已经带够了钱直接输出可以坐车。(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;

}

}

 

  1. 定义功能函数可以接收任意类型的图形,该函数还可以输出任何图形的面积和周长.例如 (有圆,矩形)10分)
    1. 代码:

 

  1. 附加题(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呢?学生还具备一个比较年龄的方法。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值