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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雪莲 中级黑马   /  2016-6-30 19:20  /  1274 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、什么是面向对象?
面向对象是一种编程思想,是一种更符合人们思想的一种方式,我们把生活中的事物抽象成代码中的对象,万物皆对象.
来操作这个对象,完成代码的设计和编写.
举例子说明面向对象好处
原本的程序设计是: 按照一步一步来处理:
我们做饭-->种大米-->收割水稻--->剥皮-->淘米-->蒸米-->吃饭
面向对象的好处.找到会做饭的人,他就是我们的对象(对象能帮我们完成我们要做的事情)

面向对象就是由关注事情的过程变为关注哪个对象能完成这件事情
2、面向对象的三大思想特征是什么?
封装 继承 多态

3、什么是类,什么是对象?
类:是一系列相关属性和行为的集合
对象:是类的实例化体现

4、如何使用类中的成员变量和成员方法?
创建类对象,再类名点调用

5、成员变量和局部变量的区别有哪些?

位置不同:成员变量在类中方法外,局部变量在方法内,或者方法声明上
存储位置不同:成员变量存储在堆内存中, 局部变量存储在栈内存中
生命周期不同:成员变量随着对象的加载而创建,随着对象的消失而消失
局部变量随着方法的加载而创建,随着方法的弹栈而消失
使用方法:局部变量使用前必须赋值.


6、回答如下问题:
        Java语言最基本的单位是:  类
        计算机能直接识别的进制是:二进制
        计算机最小的存储单位是:  计算机存储信息的最小单位,称之为位(bit,又称比特),其计量基本单位是字节(Byte。简称B)

7、什么是匿名对象?什么时候使用?
没有名字的对象. 只调用一次对象的时候使用 或者当实际参数传递的时候.

8、什么是封装?封装的好处,原则分别是什么?
封装:是隐藏对象的属性和实现细节,仅提供对外的公共访问方式
好处:代码复用性强,------------广义的封装
        和提高安全性
原则:将不需要对外提供的内容都隐藏起来,仅提供公共的访问方式
把属性隐藏,提供公共方法对其访问。

9、封装指的就是private,这句话对吗?
不对,private只是封装方法的一种.
10、this是什么?
代表对当前对象的引用.
11、根据如下需求,完成代码(按照标准格式写),然后在测试类中测试。
        需求一:
public class Text {
        public static void main(String[] args) {
       
                //调用手机对象//创建对象的格式:    类名  对象名 =  new  类名();
                Phone p = new Phone();
                //设置对象的属性值:     对象名.属性名 = 值;
                p.brand = "诺基亚";
                p.price = 199;
                System.out.println("品牌" + p.brand + "价格" + p.price);
                //对象调用方法:  对象名.方法名();
                p.call();
                p.sendMessage();
                p.playGame();
                //调用人对象
                Person person = new Person();
                person.name = "不知道";
                person.age = 10;
                person.gender = "男";
                System.out.println("姓名" + person.name + "年龄" + person.age + "性别"+ person.gender);
                person.study();
                person.sleep();
                //调用动物对象
                Animal a = new Animal();
                a.name = "猪";
                a.age = 1;
                System.out.println(a.name + " 年龄 " + a.age);
                a.eat();
                //调用 狗对象
                Dog d = new Dog();
                d.name = "狗";
                d.age = 1;
                System.out.println(a.name + " 年龄 " + a.age);
                d.eat();
                d.lookHome();
                //调用 猫对象
                Cat c = new Cat();
                c.name = "猫";
                c.age = 1;
                System.out.println(a.name + " 年龄 " + a.age);
                c.eat();
                c.catchMouse();
                //调用 学生对象
                Student stu = new Student();
                stu.english = 10;
                stu.math = 10;
                stu.chinese = 10;
                stu.getSum(stu.english,stu.math,stu.chinese);
                int sum = getSum1(stu.english,stu.math,stu.chinese);
                System.out.println(sum);
        }
}
/*                手机类Phone
                        属性:品牌brand,价格price
                        行为:打电话call,发短信sendMessage,玩游戏,playGame
*/
class Phone { //定义手机 类
        //成员属性品牌 ,价钱
        String brand;
        int price;
        //成员方法 打电话,发短信
        public void call() {
                System.out.println("打电话");
        }
        public void sendMessage() {
                System.out.println("发短信");
        }
        public void playGame() {
                System.out.println("玩游戏");
        }
}
/*        需求二:
                人类Person
                        属性:姓名name,年龄age,性别gender
                        行为:学习study,睡觉sleep
*/
class Person {  //创建人 类
        //创建属性 姓名 年龄 性别
        String name;
        int age;
        String gender;
        //成员方法 学习 睡觉
        public void study() {
                System.out.println("学习");
        }
        public void sleep() {
                System.out.println("睡觉");
        }
}
/*
        需求三:
                动物类Animal
                        属性:姓名name,年龄age
                        行为:吃饭eat
*/
class Animal {  //创建动物类
        //成员属性 姓名 年龄
        String name;
        int age;
        //成员方法吃
        public void eat() {
                System.out.println("吃饭");
        }
}
/*        需求四:
                狗类Dog
                        属性:姓名name,年龄age
                        行为:吃饭eat,看家lookHome
*/
class Dog {  //创建狗类
        //成员变量
        String name;
        int age;
        //成员方法
        public void eat() {
                System.out.println("吃饭");
        }
        public void lookHome() {
                System.out.println("吃饭");
        }
}
/*        需求五:
                猫类Cat
                        属性:姓名name,年龄age
                        行为:吃饭eat,抓老鼠catchMouse
*/
class Cat {  //创建猫类
        //成员变量
        String name;
        int age;
        //成员方法
        public void eat() {
                System.out.println("吃饭");
        }
        public void catchMouse() {
                System.out.println("抓老鼠");
        }
}
/*        需求六:
                学生类Student
                        属性:语文成绩chinese,数学成绩math,英语成绩english
                        行为:求总成绩的方法getSum()
*/
class Student {  //创建学生类
        //成员属性
        int chinese;
        int math;
        int english;
        //成员方法
        public void getSum(int chinese,int math,int english) {
                int sum = this.chinese + this.math + this.english;
                System.out.println("总成绩是: " + sum );
        }
}


package com.heima;

public class Text {

        /**
         * @param args
         */
        public static void main(String[] args) {
                //创建手机对象
                Phone p1 = new Phone();
                p1.setBrand("诺基亚");
                p1.setPrice(199);
                System.out.println(p1.getBrand() + " 价格 " + p1.getPrice());
                p1.call();
                p1.sendMessage();
                p1.playGame();
               
                //创建人 对象
                Person p2 = new Person();
                p2.setName("王二狗");
                p2.setAge(18);
                p2.setGender("男");
                System.out.println(p2.getName() + " 年龄 " + p2.getAge() + " 性别 " + p2.getGender());
                p2.sleep();
                p2.study();
                //创建动物对象
                Animal a = new Animal();
                a.setName("大黄");
                a.setAge(1);
                System.out.println(a.getName() + "  " + a.getAge());
                a.eat();
                //创建狗对象
                Dog d = new Dog();
                d.setName("猫咪");
                d.setAge(2);
                System.out.println(d.getName() + " " + d.getAge());
                d.eat();
                d.lookHome();
                //创建 猫对象
                Cat c = new Cat();
                c.setName("兔子");
                c.setAge(3);
                System.out.println(c.getName() + " " + c.getAge());
                c.eat();
                c.catchMouse();
                //创建 学生类
                Student s = new Student();
                s.setChinese(60);
                s.setEnglish(59);
                s.setMath(60);
                s.getSum(s.getChinese(), s.getEnglish(), s.getMath());
        }
}

/*
* 手机类Phone 属性:品牌brand,价格price 行为:打电话call,发短信sendMessage,玩游戏,playGame
*/
/**
* @author XL
*
*/
class Phone { // 定义手机 类
// 成员属性品牌 ,价钱
        private String brand;
        private int price;

        public String getBrand() {
                return brand;
        }

        public void setBrand(String brand) {
                this.brand = brand;
        }

        public int getPrice() {
                return price;
        }

        public void setPrice(int price) {
                this.price = price;
        }

        // 成员方法 打电话,发短信
        public void call() {
                System.out.println("打电话");
        }

        public void sendMessage() {
                System.out.println("发短信");
        }

        public void playGame() {
                System.out.println("玩游戏");
        }
}

/*
* 需求二: 人类Person 属性:姓名name,年龄age,性别gender 行为:学习study,睡觉sleep
*/
class Person { // 创建人 类
// 创建属性 姓名 年龄 性别
        private String name;
        private int age;
        private String gender;

       
        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

        public String getGender() {
                return gender;
        }

        public void setGender(String gender) {
                this.gender = gender;
        }

        // 成员方法 学习 睡觉
        public void study() {
                System.out.println("学习");
        }

        public void sleep() {
                System.out.println("睡觉");
        }
}

/*
* 需求三: 动物类Animal 属性:姓名name,年龄age 行为:吃饭eat
*/
class Animal { // 创建动物类
// 成员属性 姓名 年龄
        private String name;
        private int age;

       
        public String getName() {
                return name;
        }


        public void setName(String name) {
                this.name = name;
        }


        public int getAge() {
                return age;
        }


        public void setAge(int age) {
                this.age = age;
        }


        // 成员方法吃
        public void eat() {
                System.out.println("吃饭");
        }
}

/*
* 需求四: 狗类Dog 属性:姓名name,年龄age 行为:吃饭eat,看家lookHome
*/
class Dog { // 创建狗类
// 成员变量
        private String name;
        private int age;

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

        // 成员方法
        public void eat() {
                System.out.println("狗吃肉");
        }

        public void lookHome() {
                System.out.println("会看门");
        }
}

/*
* 需求五: 猫类Cat 属性:姓名name,年龄age 行为:吃饭eat,抓老鼠catchMouse
*/
class Cat { // 创建猫类
// 成员变量
        private String name;
        private int age;

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

        // 成员方法
        public void eat() {
                System.out.println("猫吃鱼");
        }

        public void catchMouse() {
                System.out.println("抓老鼠");
        }
}

/*
* 需求六: 学生类Student 属性:语文成绩chinese,数学成绩math,英语成绩english 行为:求总成绩的方法getSum()
*/
class Student { // 创建学生类
// 成员属性
        private int chinese;  //语文成绩
        private int math;
        private int english;

        public int getChinese() {
                return chinese;
        }

        public void setChinese(int chinese) {
                this.chinese = chinese;
        }

        public int getMath() {
                return math;
        }

        public void setMath(int math) {
                this.math = math;
        }

        public int getEnglish() {
                return english;
        }

        public void setEnglish(int english) {
                this.english = english;
        }

        // 成员方法
        public void getSum(int chinese, int math, int english) {
                int sum = this.chinese + this.math + this.english;
                System.out.println("总成绩是: " + sum);
        }
       
        public int getSum1(){
                return chinese + math + english;
        }
}


3 个回复

倒序浏览
学霸!
我还没看到第六课了。。
回复 使用道具 举报
自己敲的吗{:3_46:}
回复 使用道具 举报
我才看到第三课   学霸啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马