day07学习总结

一、idea

        1.模块化开发

                

         2.debug调试

                a.设置断点   断点的设置:可能产生问题代码的位置  如果不知道就设置在第一行

                b.使用debug的方式运行程序代码

                c.观察代码的执行的流程 以及变量的值

                d.发现问题  并解决问题

        3.idea快捷键

                2、psvm 提示主方法

                3、sout 提示打印语句

                4、ctrl+alt+l 格式化代码

                5、ctrl+d 快速向下复制当前行

                6、ctrl+y 删除当前行

                7、alt+enter 智能提示

                8、alt+insert 快速生成代码

                9、ctrl+alt+t 快速包裹一段代码

                10、ctrl+alt+v 快速添加引用

                11、ctrl和+或者- 收缩或者展开单个方法

                12、ctrl+Alt+shift+u 查看类关系图

                13、ctrl+alt+m 选中的代码转换为方法

二、 面向对象思想

        2.1面向对象的概念

                1.面向对象思想是java中一种编程思想,在java中万物皆对象,所有事物都能用对象来进行描述

                2.面向过程思想与面向对象思想

                        面向过程思想:注重于步骤 注重于过程 每一步都亲历亲为(员工)

                        面向对象思想:注重与解决问题的主题 注重于对象 不注重于过程(老板)

                        面向对象是基于面向过程  面向对象与面向过程相辅相成

                3.使用面向对象思想的好处

                        更符合人的思考方式、简化程序的设计、由执行者变成了指挥者

                4.面向对象的三大特征

                        1.封装   2.继承    3.多态

        2.2类的概念

                概念:类是一组属性与行为的集合

                属性:用来描述事物的特征  一般是形容词或者名词

                行为:用于描述事物执行的动作  一搬是动词

        2.3对象的概念

                概念:对象是类的具体表现   对象必须有类的属性与行为

                类与对象的关系:类是对象的抽象   对象是类的具体表现

        2.4定义类

                语法:

                        访问修饰符 class 类名 {

                                //属性 ==>成员变量

                                //行为 ==>成员方法

                        }

                例子:

package com.qf.test;
//狗类
public class Dog {
    //定义成员变量
    String name;//名字
    String kind;//品种
    int age;//年龄

    //定义成员方法

    //吃
    public void eat(String food){
        System.out.println("狗正在吃"+food);
    }
    //睡
    public void sleep(){
        System.out.println("狗正在睡觉");
    }

}

         2.5实例化对象

                语法: 类名  对象名  =  new  类名();

                注意点:

                        前后的类名必须一致

                        对象名可以任意的定义  通俗易懂

                        后面的类名需要加上一个小括号

                访问成员变量

                        成员变量赋值 语法: 对象名.属性名=值 例如 d.name ="多多"

                        成员变量取值 语法: 对象名.属性名 例如 d.name

                访问成员方法

                        语法: 对象名.方法名(参数列表) 例如 d.eat("狗粮");

                例子

                

package com.qf.test;

public class Test02 {
    public static void main(String[] args) {
        //实例化Dog对象
        Dog dog = new Dog();
        //给对象赋值
        dog.name = "花花";
        dog.kind = "边牧";
        dog.age = 2;
        //取值
        System.out.println(dog.name+dog.kind+dog.age);
        //调用成员方法
        dog.eat("狗粮");
        dog.sleep();
    }
}

        2.6成员变量的默认值

                

案例

        需求:需求 定义一个手机类 给成员变量赋值 并且调用其方法

        分析:  

        代码:

定义手机类

package com.qf.test;

public class Iphone {
    //定义成员变量(属性)
    String brand;//品牌
    double price;//价格
    String type;//型号
    String color;//颜色
    //定义成员方法
    public void call(String who){
        System.out.println("正在给"+who+"打电话");
    }
    public void send(){
        System.out.println("正在给......小姐姐发信息");
    }

}

 定义测试类:

package com.qf.test;

public class Test03 {
    public static void main(String[] args) {
        //实例化对象
        Iphone huawei = new Iphone();
        //给属性赋值
        huawei.brand = "华为";
        huawei.color = "星耀黑";
        huawei.price = 6999.9;
        huawei.type = "Mate 40";
        //取值
        System.out.println(huawei.brand);
        System.out.println(huawei.color);
        System.out.println(huawei.price);
        System.out.println(huawei.type);
        //调用成员方法
        huawei.call("刘亦菲");
        huawei.send();
    }
}

 

三、内存图

        1.一个对象创建的内存图

         2.两个引用指向同一个堆地址内存图

         3.方法的参数是引用数据类型内存图

 四、匿名对象

        匿名对象:没有名称的对象   例如  new  Person()   数组  new int [ ] {10,20,30}

        使用场景:

                1.使用匿名对象调用方法   有且仅有调用一次的时候

                2.使用匿名对象作为方法的实际参数

                3.使用匿名对象作为方法的返回值

        注意点:

                1.匿名对象可以给成员变量赋值 但是没有实际意义 因为取不到

                2.匿名对象会优先被gc(垃圾回收器进行回收)  节省空间

        例子:

        定义一个Person类

package com.qf.test;

public class Person {
    //定义成员变量
    String name;
    int age;

    //定义一个成员方法
    public void showInfo(){
        System.out.println("某某去和某某公园约会");
    }
}

        定义一个测试类

        

package com.qf.test;

public class Test04 {
    public static void main(String[] args) {
        //仅调用一次类中方法时使用的匿名对象
        new Person().showInfo();;
        //匿名对象可以当做方法的实参
        showP(new Person());



    }
    //形参为传入一个类对象
    public static void showP(Person p){
        System.out.println("hhh");
    }
    //匿名对象可以当做方法的返回值
    public static Person show(){

        return new Person();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白昼乌龙茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值