• 第三周 学习总结


    一、视频学习笔记

    1、计算机语言发展基本概况

    面向机器(汇编)、面向过程(C语言)、面向对象(Java语言);

    2、类
    • Java程序的基本要素;
    • 是Java语言最重要的“数据类型”,封装着数据和对数据的操作;
    • 类声明的变量被称作对象变量(即对象);
    • 定义类包括类声明和类体;
    • 类体包括变量声明和方法(即C语言的函数);

    关于这一点有必要多说两句,请看下面的代码:

    class A {
        int x;
        x = 100;             //语句
        void f() {           //方法
            if (x>10) {
                x=100000;    //语句
            }
        }
    }
    

    在上面的代码里面,存在错误的语句使用:x = 100;

    注意,类体中只能包含变量声明和方法,没有任何其他的语句,执行类似x = 100;的语句必须要在方法里面;

    编译上述代码,结果截图如下:

    似乎编译器不认识这个鬼东西是啥,出现了错误提示:“需要标识符”


    • 成员变量:变量声明部分声明的变量(有默认值);其有效范围是整个类,与书写位置无关
    • 方法体内声明的是局部变量(没有默认值),只在方法类有效,与书写位置有关
    • 若局部变量和成员变量同名,则成员变量在方法内暂时失效;若想要使用成员变量,可以使用this语句;例:
    class Lader {
        float height = 10.0f;
        float area;
        float computerArea(){
            float height = 5.0f;
            area = height + this.height;    //area = 5.0f + 10.0f
            return area;
        }
    }
    
    • 类的单一性:写程序时尽量让一个类解决一种问题;
    • 关于成员变量的默认值
    变量 默认值
    逻辑类型
    数值类型 0.0
    字符类型 空字符
    3、构造方法与对象的创建
    1、构造方法

    构造方法是一个方法,是名词,不是动词意义上的构造方法

    • 创建对象时使用;
    • 构造方法是没有类型的(与类名一样);
    • 默认的构造方法:当编写时没有定义构造方法,编译时java会提供一个与类名一致的默认构造方法(上述过程可以通过反编译javap来验证)
    • 自定义的构造方法:在编写时定义了构造方法,编译时系统就不会提供默认的构造方法【注:自己定义的构造方法可以有多个,但是必须保证各个构造方法的参数类型不相同或者参数个数不相同】
    2、创建对象
    • 类是一种重要的数据类型,其声明的变量叫对象变量,简称对象;
    class XiyoujiRenwu {
        float height;
        float weight;
        String ear,head;
        void speak (String s){
            head = "歪着头";
            System.out.println(s);
        }
    }
    public static void main(String args[]) {
        XiyoujiRenwu zhubajie,sunwukong;
        //声明变量,就像是起名字
        zhubajie = new XiyoujiRenwu();
        /*
        new运算符:
        - 只能和构造变量运算
        - 计算的结果是一个数
        - 给zhubajie分配变量(创建对象)
        */
        sunwukong = new XiyoujiRenwu();
        zhubajie.height = 1.80f;
        zhubajie.head = "大头";
        zhubajie.head = "一双大耳朵";
        sunwukong.height = 1.62f;
        sunwukong.height = 1000f;
        sunwukong.head = "长发飘飘";
        System.out.println("zhubajie的身高:"+zhubajie.height);
        System.out.println("zhubajie的头:"+zhubajie.head);
    }
    
    3、使用对象
    • 对象.变量:调用变量;
    • 对象.方法:调用方法;
    • 如果使用了空对象去访问对象或者变量,编译会通过,但是运行会出错(错误提示:NullPointerException)
    4、对象的引用和实体
    • 对象本身存着一个引用,可以操作分配给自己的变量,调用类提供的方法;
    • 实体是指分配给对象的变量;
    • 对象包括实体和引用;
    • 如果两个对象有类型相同的变量和相同的引用,那么二者具有完全相同的实体;

    例:

    class Point {
        int x;
        int y;
    }
    public class test {
        public static void main(String args[]) {
            Point p1,p2;
            p1 = new Point();
            p2 = new Point();
            p1 = p2;   //p1,p2具有相同的引用
            p1.x = 1;
            p2.x = 10;
            p1.y = 100;
            p2.y = 1000;
            System.out.println(p1.x+" "+p2.x);
            System.out.println(p1.y+" "+p2.y);
            //此时输出的x,y相同,因为p1,p2的实体相同
        }
    }
    

    输出的结果:

    关系如图:


    4、类与程序的基本结构
    • 一个Java应用程序(也称作一个工程)由若干个类构成;
    • 若是一个应用程序,至少要一个主类;

    二、 输入调试教材第二三章的代码

    我的码云链接

    三、脚本运行结果的截图


    遇到的问题:

    注:以下问题统统是一个萌新小白写给自己看的日志,对大家可能没有参考价值

    1、虚拟机出现“Welcome to emergency mode ......”

    原因分析:设置共享文件夹时,/etc/fstab文件没有设置好,根据百度的结果,挂载什么balabala东西出现了问题。

    处理方法:在root模式下键入“vi /etc/fstab”,把新加的一行删了......

    (菜的抠脚)后续有时间再来继续处理这个设置共享文件夹问题。

    2、修改Ubuntu密码

    主要适用于像我这样的嫌自己以前的密码太长的人

    输入命令:

    passwd dong //dong是我的用户名
    

    输入的密码太过简单可能出现提示:

    Bad:new passwd is too simple
    

    这时候加上sudo命令即可:

    sudo passwd dong //dong是我的用户名
    

    再输一遍新密码就行;

    根据学姐给的建议,可以参考博客 ubuntu下启用root登录使用命令sudo passwd root 解决;

    3、在Git Bash中如何解决error: failed to push some refs to 'xxx(远程库)'错误提示

    我遇到的错误信息截图如图所示:

    参考链接可完美解决:https://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html

    或者 http://blog.csdn.net/zshlclzsh/article/details/50440411

  • 相关阅读:
    JVM详解(十)——垃圾回收算法
    JVM详解(九)——StringTable
    JVM详解(八)——执行引擎
    JVM详解(七)——直接内存
    JVM详解(六)——对象的实例化、内存布局与访问定位
    JVM详解(五)——运行时数据区-方法区
    JVM详解(四)——运行时数据区-堆
    http发送url请求
    超简单超详细的redis安装教程
    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'bookID' not found. Available parameters are [param1, bookId]解决问题
  • 原文地址:https://www.cnblogs.com/maxeysblog/p/8573712.html
Copyright © 2020-2023  润新知