A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、构造方法的格式是什么?有哪些注意事项?
答:
      方法名与类名相同;
      没有返回值类型,连void都没有;
      没有具体的返回值。
注意:如果没有给出构造方法,系统会自动提供一个无参构造方法
      如果给出了构造方法,系统将不会提供默认的无参构造方法
      建议永远给出无参构造方法

2、构造方法可以重载吗? 里边可以有return语句吗?
答:
    可以,没有return;

3、给成员变量赋值有几种方式?有什么区别?
答:
    通过构造方法和setXxx()来赋值;
    通过构造方法赋值的话,修改值需要在栈内存中重新赋值,执行完构造方法后弹栈
    而setXxx()方法修改对象值比较灵活

4、static关键字有什么特点,使用的时候有什么注意事项?
答:
    A:随着类的加载而加载;
    B: 优先于对象存在,随着字节文件的加载而加载
    C:被类的所有对象共享
    D: 通过类名调用
       其本身也可以通过对象调用;
       推荐使用类名调用;
       静态修饰的内容,一般我们称其为:与类相关的,类成员
注意事项:
     A:静态方法中没有this关键字
        静态是随着类的加载而加载的,this是随着对象的创建而存在的
        静态比对象先存在
     B:静态方法只能访问静态的成员变量和成员方法
       a:静态方法
          成员变量:只能访问静态变量
          成员方法:只能访问静态成员方法
       b:非静态方法
          成员变量:可以是静态的,也可以是非静态的
          成员方法:可以是静态的成员方法,也可以是非静态的成员方法
简单记:
       静态只能访问静态
5、public static void main(String[] args) {
                Person p = new Person();  
   },这段代码在内存中做了哪些事情?
        答:参考答案,
                A:通过类加载器,将Person类的字节码文件加载到内存中。
                B:在main函数中创建Person类的引用p,等待接收堆内存中传来的地址值。
                C:成员变量进堆,系统给出默认值。
                D:对成员变量进行显示初始化(如果有)。
                E:构造方法进栈,对成员变量进行赋值。执行完后构造方法弹栈。
                F:将堆中创建好的Person对象的地址值赋值给main函数的p。至此,对象创建完毕。

6、静态变量和成员变量的区别是什么?
答:
    静态变量也叫类变量,成员变量也叫对象变量
    A:所属不同
       静态变量属于类
       成员变量属于对象
    B:内存中的位置不同
      静态变量存储在方法区的静态区
      成员变量存储于堆内存
   C:内存中出现的时间不同
      静态变量先于对象存在,随着类的加载而存在,随着类的消失而消失
      成员变量随着对象的创建而存在,随着类的消失而消失
   D:调用不同
     静态变量可以通过类名调用也可以通过对象调用
     成员变量只能通过对象来调用

7、如何使用JDK提供的帮助文档?
答:
   A:找到文档,打开文档
   B:点击显示,找到索引,出现输入框
   C:知道找谁
   D:看这个类的结构(需不需要导包)
     成员变量   字段
     构造方法         构造方法
     成员方法        方法

8、通过Math类如何获取1-100之间的随机数?
答:
    (Math.random()*100)+1
9、需求:定义一个长方形类,定义求周长和面积的方法,然后定义一个测试类进行测试。
答:
   class RectangleDemo{
        public static void main(String[] args){
                Rectangle1 r=new Rectangle1();
                r.setWidth(10);
                r.setLength(10);
                r.getArea();
                r.getZhouChang();
                System.out.println("面积是:"+r.getArea()+"---周长是"+r.getZhouChang());
        }
}
    class Rectangle1{
        private int length;
        private int width;
        public Rectangle1(){
        }
        public Rectangle1(int length,int width){
        this.length=length;
        this.width=width;
        }
        public void setLength(int length){
        this.length=length;
        }
        public int getLnegth(){
        return length;
        }
        public void setWidth(int width){
                this.width=width;
        }
        public int width(){
        return width;
        }
        public int getArea(){
           return (length*width);
        }
        public int getZhouChang(){
         return (length+width)*2;
         }
}       




10、根据需求,完成如下代码(按照标准格式写),并在测试类中进行测试。
        需求一:
                员工类Employee
                        属性:姓名name,工号id,工资salary
                        行为:显示所有成员信息的方法show()
答:
   class EmployeeDemo{
        public static void main(String[] args){
               
        Employee e=new Employee();
        e.setName("JACKSON");
        e.setId("it-heima0041");  
        e.setSlary(8800.21);
        e.show();
        }
}
class Employee{
        private String name;
        private String id;
        private double salary;
        public Employee(){}
        public Employee(String name,String id,double salary){
                this.name=name;
                this.id=id;
                this.salary=salary;
        }
        public void setName(String name){
                this.name=name;
        }
        public String getName(){
                return name;
        }

        public void setId(String id){
                this.id=id;
        }
        public String getId(){
                return id;
        }
        public void setSlary(double salary){
                this.salary=salary;
        }
        public double sanlary(){
                return salary;
        }
        public void show(){
                System.out.println("Name:"+name+" Id:"+id+" Slary:"+salary+"yuan");
        }
}       




        需求二:
                动物类Animal
                        属性:姓名name,年龄age
                        行为:吃饭eat,睡觉sleep
答:
   class AnimalDemo{
        public static void main(String[] args){
                Animal a=new Animal();
                a.setName("Tom");
                a.setAge(2);
                a.show();
                a.eat();
                a.sleep();
        }
  }
  class Animal{
        private String name;
        private int age;
        public void setName(String name){
                this.name=name;
        }
        public String getName(){
                return name;
        }
        public void setAge(int age){
                this.age=age;
        }
        public int getAge(){
                return age;
        }
        public void sleep(){
                System.out.println("sleep");
        }
        public void study(){
                System.out.println("eat");
        }
        public void show(){
                System.out.println("Name is:"+name+"---Age is:"+age);
        }
}       

        需求三:
                人类Person
                        属性:姓名name,年龄age,性别gender
                        行为:学习study,睡觉sleep
答:
   class PersonDemo2{
        public static void main(String[] args){
       
        Person2.study();
        Person2.sleep();
        System.out.println();
        Person2 p=new Person2();
        p.setName("jacky");
        p.setAge(25);
        p.setGender("man");
        p.show();
        p.study();
        p.sleep();
        }
}
class Person2{
        private  String name;
        private  int age;
        private  String gender;

    public  void setName(String name){
                this.name=name;
        }
        public  String getName(){
                return name;
        }
        public  void setAge(int age){
                this.age=age;
        }
        public   int getAge(){
                return age;
        }
        public  void setGender(String gender){
                this.gender=gender;
        }
        public  String getGender(){
                return gender;
        }
        public static void study(){
                System.out.println("study");
        }
        public static void sleep(){
                System.out.println("sleep");
        }
        public  void show(){
                System.out.println("Name is:"+name+"---Age is:"+age+"Gender is:"+gender);
        }
}       



11、自学Random类,然后通过Random类来实现猜数字的小游戏。
答:
     import java.util.Scanner;
    class GuessNumber{
        public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int guessNumber=(int)(Math.random()*100)+1;
        //System.out.println(guessNumber);
        System.out.println("请输入一个数字1——100之间");
                while(true){
                        int result=sc.nextInt();
                        if(result>guessNumber){
                                System.out.println("大了,完蛋");
                        }else if(result<guessNumber){
                                System.out.println("小了,放开点猜");
                                }else{
                                        System.out.println("恭喜你,猜对了");
                        }
                }
        }
}
       


31 个回复

倒序浏览
好贴!!!顶,终于可以发帖了
回复 使用道具 举报
好贴!!!顶,终于可以发帖了
回复 使用道具 举报
好贴!不错不错~
回复 使用道具 举报
广州安卓双元第一期?
回复 使用道具 举报
座位号多少
回复 使用道具 举报
Feboam 中级黑马 2016-4-20 22:43:56
7#
谢谢楼主分享
回复 使用道具 举报
加油吧!!越努力,就越幸运!
黑马一句话,只要学不死,就往死里学!
回复 使用道具 举报
guozhicheng 发表于 2016-4-20 22:47
加油吧!!越努力,就越幸运!
黑马一句话,只要学不死,就往死里学!

加油吧,坚持就是胜利,只要学不死,就往死里学,今天敲了500条代码,眼睛好累
回复 使用道具 举报

41,你几号,一个班的吗
回复 使用道具 举报
坚持就是胜利
回复 使用道具 举报
mark,白天还在发愁没有代码,没有题做,卤煮棒棒哒
回复 使用道具 举报
进击的鬼笔环肽 发表于 2016-4-20 23:25
mark,白天还在发愁没有代码,没有题做,卤煮棒棒哒

共同努力
回复 使用道具 举报
guozhicheng 发表于 2016-4-20 22:47
加油吧!!越努力,就越幸运!
黑马一句话,只要学不死,就往死里学!

恩,来黑马就要肯吃苦,沉住气
回复 使用道具 举报
格城先生 发表于 2016-4-20 22:20
广州安卓双元第一期?

北京android 基础44期
回复 使用道具 举报
YHH 中级黑马 2016-4-20 23:53:17
16#
莫非你就是传说中的山歌?
回复 使用道具 举报
挺棒的,看了一遍,又复习了一遍
不过,同学啊,一不小心就看到你的代码里有错误了......
不过你真的不要打我.....我只是不小心看到的
回复 使用道具 举报
单曲循环1992 发表于 2016-4-21 01:27
挺棒的,看了一遍,又复习了一遍
不过,同学啊,一不小心就看到你的代码里有错误了......
不 ...

哪里错了,请贴出来,让我学习下
回复 使用道具 举报
给力。。加油
回复 使用道具 举报
Petergee 发表于 2016-4-21 15:12
哪里错了,请贴出来,让我学习下

有好几个get方法没有加get  
好像还有一个getLength方法的单词写错了
然后估计没有了吧,我也记不清楚了.....嘻嘻嘻
没别的意思,我也当复习了,看到了  然后就说出来了......
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马