• # 20155327 2016-20017-3 《Java程序设计》第3周学习总结


    教材学习内容总结

    第四章 认识对象

    区分基本类型与类类型

    基本类型:

    1、整数:包括int,short,byte,long ,初始值为0

    2、浮点型:float,double ,初始值为0.0

    3、字符:char ,初始值为空格,即'' ",如果输出,在Console上是看不到效果的。

    4、布尔:boolean ,初始值为false

    类类型:

    除去基本类型的类型

    对象(Object):存在的具体实体,具有明确的状态和行为

    类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制

    从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象

    从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)

    类是对象的设计图,对象是类的实例,生成对象要先定义类

    理解对象的生成与引用的关系

    A a1 = new A();

    它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象

    决定类生成对象的方式:构造方法

    掌握String类和数组

    数组对象:Java中,数组是对象
    与C语言不同,Java检查数组边界,越界会触发ArrayIndexOutOfBoundsException异常
    数组访问的foreach语法

    string类:
    String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。

    String类的包含如下定义:

    /** The value is used for character storage. */
    private final char value[];

    /** The offset is the first index of the storage that is used. */
    private final int offset;

    /** The count is the number of characters in the String. */
    private final int count;
    用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。

    理解封装的概念

    封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作
    通过构造方法(构造函数)封装初始化流程
    通过成员方法(函数)封装操作
    通过成员变量封装数据

    掌握构造方法的定义

    构造方法负责对象的初始化工作,为实例变量赋予合适的初始值。构造方法必须满足以下语法规则:

    (1) 方法名必须与类名相同。

    (2)不要声明返回类型。

    (3)不能被static、final、synchronized、abstract和native修饰。

    理解重载的概念

    当通过new语句创建一个对象时,在不同的条件下,对象可能会有不同的初始化行为。当通过new语句创建一个对象时,在不同的条件下,对象可能会有不同的初始化行为。

    用this语句来调用其他构造方法时,必须遵守以下语法规则:

    (1)假如在一个构造方法中使用了this语句,那么它必须作为构造方法的第一条语句(不考虑注释语句)。

    (2)只能在一个构造方法中用this语句来调用类的其他构造方法,而不能在实例方法中用this语句来调用类的其他构造方法。

    (3)只能用this语句来调用其他构造方法,而不能通过方法名来直接调用构造方法。

    掌握static的应用

    static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为:

    类名.静态方法名(参数列表...)

    类名.静态变量名

    用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块

    教材学习中的问题和解决过程

    - 1问题:无法正确理解String s="java";

    String s=new String("java")之间的区别?

    -解决方案:

    通过网上查找,发现有人总结了。
    1、String s="java"; 这里产生得到一个字符串常量。系统首先会去“常量池”寻找,看是否有“java”常量存在,如果有那么就将这个常量“java”赋给s,如果没有则系统在常量池里创建“java”,并将其给s。

    2、String s = new String("java"); 意思是根据常量“java”创建一个字符串的对象,如此他首先会执行1中的操作,然后根据常量“java”在堆中创建对象,并为其分配内存。

    当然在使用没有什么区别,但本质是有区别地

    - 2问题 在网上找到一个感觉分类的很清晰的重载构造

    - 解决方案

    例程 Employee.java

    public class Employee {

    private String name;

    private int age;

    /** 当雇员的姓名和年龄都已知,就调用此构造方法 */

    public Employee(String name, int age) {

    this.name = name;

    this.age=age;

    }

    /** 当雇员的姓名已知而年龄未知,就调用此构造方法 */

    public Employee(String name) {

    this(name, -1);

    }

    /** 当雇员的姓名和年龄都未知,就调用此构造方法 */

    public Employee() {

    this( "无名氏" );

    }

    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;}

    }

    代码托管

    上周考试错题总结

    - 错题:~0b1011的十进制表示

    -由00001011的反码(~)表示11110100取反10001011再加上一个1得出等于-12。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 10/10 1/4
    第二周 80/100 1/5 12/22
    第三周 220/320 1/6 16/38

    参考资料

  • 相关阅读:
    3D打印开源软件Cura分析(1) 【转】
    【机械臂】机械臂快速入门【转】
    Gcode命令【转】
    初识Vulkan【转】
    模型视图变换时,法线向量要乘模型视图矩阵的逆转置矩阵【转】
    OpenSceneGraphic 着色器中数组的应用【转】
    Docker容器的重启策略及docker run的--restart选项详解
    Linux LVM简明教程
    /etc/resolv.conf被自动修改
    ansible判断对指定主机组执行task , when: inventory_hostname in {{ groups['group'] }} does not work with dynamic inventory
  • 原文地址:https://www.cnblogs.com/l97----/p/6539414.html
Copyright © 2020-2023  润新知