关于近期入门Java的学习收获与思考主要知识点如下

EFCBE5A0DA9EEE12CDF42E99E742BF48.jpg

主要知识点如下

.运算符与常量变量等基础知识

.分支与循环结构

.数组

.方法

.面向对象

.权限修饰符

  接下来细讲我个人对某些知识点的浅薄见解(学长别骂了QWQ)
复制代码

关于运算符等与各结构

Java的基础知识与结构特点总体上与C别无二至,所以我在学这部分知识点时学的比较快。
  
  但有一点另我印象深刻:
  
复制代码

Java的整形默认为int,使用long变量必须在末尾加上L;Java的浮点型默认为double类型,使用float变量必须在末尾加上F

关于数组

 Java数组定义格式相比C多了一种选择:
      
      int[] a;
复制代码

而Java数组的初始化具有两种:

动态初始化
静态初始化

在我的课程中只讲到了动态初始化,它的格式是这样的:

int[] a = new int[int]

关于方法

方法我将它比作为C中的函数这一概念,整体上差不多。

不过其中有特殊的两个特性:
复制代码

方法重载与方法重写

首先说方法重载:Java允许一个类中拥有重名不同参的多个方法,在调用方法时会根据给予参数的不同选择对应方法,这使得一个方法能够灵活的运用在不同的场景。

而方法重写涉及到继承知识,所以我放在后面讲。
复制代码

关于面向对象

从这里开始,我算是开始体会到Java这门编程语言的独特之处了。

面向对象有三大特征:
复制代码

.继承
.封装
.多态

关于类
类是Java程序的基本组成单位。

类在现实生活中是对一类具有共同属性和行为的事物的抽象。

类的特点:
.类是对象的数据类型(有点像C中的结构体)
.类是具有相同属性和行为的一组对象的集合

属性一般指成员变量,而行为一般指成员方法。
复制代码
关于对象
我对对象的理解是一种数据类型为一种类的变量,同一种类的不同对象在内存中占据不同的位置。
复制代码
定义格式

类名 对象名 = new 类名();

class name = new class();

其中new后面的为类中构造方法。

关于封装与继承

关于封装(复制粘贴一手)

概述:是面向对象编程语言对客观世界的模拟,客观世界里成员变量是隐藏在对象内容里的,外界是无法直接操作的。

原则:将类的信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

优点:提高了代码的安全性与复用性。

个人理解:Java中可以通过private关键字修饰成员变量以达到使该变量只能在本类中直接访问与操作的目的。在其他类中使用则需创建该类对象,并通过对象调用该类中对应的Getter与Setter方法来访问与操作成员变量。这样在其它类中无法直接操作访问成员变量,提高了其安全性。并且在Getter与Setter方法中,我们可以进行修饰,例如给Setter一个整形参数,而用户需输入正确的参数才能调用Setter。

关于继承

Java中我们可以通过extends关键字在声明类时为该类选择一个父类,而该类则被称为子类。

class name extends father{}

子类继承了父类的非private修饰成员变量与成员方法,这意味着即使我们在子类中即使不定义变量或方法,也可以通过子类对象调用父类的成员变量与方法。

如果子类中存在与父类同名的变量,则通过对象访问时优先访问子类中的这个变量,但我们可以用super关键字来突破这个限制:
super.name

那方法同名时呢?

这就要讲上面提到的方法重写了,而方法重写除了要求同名还要求同参!。

子类中的同名方法会继承父类中方法的功能,无需我们额外书写,这意味着即使子类中方法空白,我们仍可以通过该子类对象调用父类中的方法中的功能。并且我们可以在子类中书写该子类特有的功能。

权限修饰符还没学明白QAQ

87B749E0C1EDE7C79432392283E8DF70.jpg