java003学习记录

二维数组

二维数组:一维数组中保存的值是另一个一维数组,数组中嵌套数组

public class Test {
    public static void main(String[] args) {
        int[] array = {1,2,3};
        int[][] array2 = {{1,2,3},{4,5,6},{7,8,9}};
        for (int i = 0; i < array2.length; i++) {
            for (int i1 = 0; i1 < array2[i].length; i1++) {
                System.out.println(array2[i][i1]);
            }
        }
    }
}

数组在声明的时候必须要指定其长度

基本数据类型字节大小

byte 基本单位

short 2 byte

int 4 byte

long 8 byte

float 4 byte

double 8 byte

char 2 byte

boolean 1/8 byte

声明数组的时候不一定必须指定长度,仅针对二维数组

二维数组在声明的时候,一维长度必须指定,二维长度可以不指定,为什么?

Java 面向对象

面向过程的编程语言 C

面向对象的编程语言 C++、Java、Python、PHP、GO

类和对象的关系

对象是通过类来创建的,类是专门用来创建对象

对象不是永久存在,只是瞬时存在,程序运行过程中存在,程序一旦结束,对象就销毁,但是类是一直存在的

类定义了对象的基本特征,一个类可以创建无数个对象,类是对象的抽象化描述

对象是类的具象化存在

类中主要信息:

1、属性

2、方法

属性用来描述静态特征,方法用来描述动态特征

构造函数,用来创建对象的,每个类都至少有一个构造函数

构造函数名和类名一致,不需要定义返回值类型

每个类都有一个默认的无参构造函数,当手动定义一个有参构造函数,默认的无参构造函数会被覆盖

面向对象三大特征:封装、继承、多态

封装

封装就是堆类中信息加以限制,将外部传入的数据进行筛选处理,以确保数据是正确的,这个过程就叫做封装。

外部不能直接操作属性,必须由类的内部对属性信息进行操作。

1、修改属性的访问权限,使得外部不能直接访问,将公有的 public 改为私有的 private

2、提供外部可以直接调用的方法

3、在方法中添加属性的控制逻辑以确保数据的正确性

继承

实现代码的复用性,重复代码只需要写一次

子类可以继承父类中的非私有信息

构建起父子类关系之后,创建子类对象的时候,构造器的调用顺序

构造子类对象的时候,会默认构造一个父类对象

每个 Java 都默认继承了 Object 类,手动进行 extends 之后,不再继承 Object ,而继承当前这个类,但是 Object 仍然是它的根节点

Object 是所有 Java 类的根节点

如果调用子类的无参构造函数,则默认先调用父类的无参构造函数

如果调用子类的有参构造函数,则默认先调用父类的无参构造函数

public class Teacher extends People {
    public Teacher(){
        super(1);
        System.out.println("调用了Teacher的无参构造函数");
    }

    public Teacher(int id){
        super(1);
        System.out.println("调用了Teacher的有参构造函数");
    }
}
public class People {

    public People(){
        System.out.println("调用了People的无参构造函数");
    }

    public People(int id){
        System.out.println("调用了People的有参构造函数");
    }

    private int id;
    private String name;
    private int age;
    private char gender;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    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 char getGender() {
        return gender;
    }

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

你可能感兴趣的:(java,学习,java)