黑马程序员技术交流社区

标题: day07作业 [打印本页]

作者: 寒星在天    时间: 2015-8-29 23:16
标题: day07作业
1:构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项是什么?构造方法中可不可以写return语句呢?
构造方法用来给成员变量进行初始化,构造方法的特点是方法名与类名相同,构造方法没有返回值类型连void也没有,没有返回值return可以不写
构造方法注意事项:如果我们没有写构造函数,系统会默认创建一个空参数的构造函数,如果我们定义了一个构造函数,系统就不再创建默认的空参数
的构造方法了,如果我们要调用空参数的构造函数就必须自己创建一个空参数的构造方法,建议永远自己创建一个空参数的构造函数.
2:给成员变量赋值有几种方式?
setxxx和通过有参数的构造函数来初始化
3:标准的代码编写及测试:
        A:学生类的案例
        B:手机类的案例
        C:长方形类的案例
        class Demo_Student {
        public static void main(String[] args) {
                Student s=new Student();
                s.study();
                Student s1=new Student("李四",15);
                s1.study();
        }
}
class Student {
        private String name;
        private int age;

        public Student(){};
        public Student(String name,int age){
                this.name=name;
                this.age=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 study(){
                System.out.println("我叫"+name+"我今年"+age);
        }
}
class DemoPhone {
        public static void main(String[] args) {
                Phone p=new Phone("三星",4800);
       
                Phone p1=new Phone();
                p1.setName("三星");
               
                System.out.println(p.getName());//不要忘了p.
        }
}
class Phone{
    private        String name;
        private int price;

        public Phone(){}
        public Phone(String name,int price){
                this.name=name;
                this.price=price;
       
        }

        public void setName(String name){
                this.name=name;
        }
        public String getName(){
                return name;                  //也可以写return this.name;
        }
       
        public void call(){
                System.out.println("打电话");
        }
        public void sendMessage(){
                System.out.println("发信息");
        }
        public void playGame(){
                System.out.println("玩游戏");
        }
}
class  JuXing{
        public static void main(String[] args) {
                Ju j=new Ju(3,5);
                j.zhouchang();
                j.area();
        }
}
class Ju {
        private int width;
        private int high;

        public Ju(){}
        public Ju(int width,int high){
                this.width=width;
                this.high=high;
        }

        public void setWidth(int width){
                this.width=width;
        }
        public int getWidth(){
                return width;
        }

        public void setHigh(int high){
                this.high=high ;
        }
        public int getHigh(){
                return high;
        }
        public void zhouchang(){
                int z=2*(width+high);
                System.out.println(z);
        }
        public void area(){
                int a=width*high;
                System.out.println(a);
        }
}
4:一个类的成员变量初始化过程
        Student s = new Student();
        首先是1.主函数的class文件加载进方法区,2主函数入栈3.Student类的class文件入方法区,4栈中创建一个对象的引用,
        5堆中创建了一个对象,6.给对象进行默认初始化7.对属性进行显示赋值8.构造方法入栈,对对象属性进行赋值然后构造方法弹栈
        9把地址值赋给对象的引用

5:static关键字是什么?有什么特点?什么时候用呢?
static关键字是静态 是一个修饰符,static关键字可以修饰成员变量成员函数,被修饰的成员变量就会被所有对象所共享
static关键字的特点随着类的加载而加载优先于对象而存在,可以被类调用可以被所有对象所共享
当成员变量被所有对象所共享时可以使用static关键字来修饰成员变量,
注意事项static中没有this关键字原因是static随着类的加载而加载优先于对象存在也优先于this存在
static静态方法中只能调用静态的变量和成员
6:main方法各种修饰符及参数的解释?
public 权限修饰符,因为是函数的主入口,所以要权限足够大
static 能够被所有对象所共享被jvm调用不用创建对象直接被类名访问
void  没有具体的返回值
main 不是关键字但是被jvm所识别,
String[]args是一个字符串类型的数组,以前用来键盘录入




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2