前期自学Java的基础部分总结

目录

一. 类和对象

          1.1  类的介绍

          1.2  类的定义

1.3  对象的使用

          1.4  关键字private

          1.5  关键字this

二.封装

          1.1  构造方法的概述

          1.2  构造方法的注意事项

          1.3  StringBuilder概述

          1.3.1 StringBuilder和String相互转换

 1.4  集合概述

三.继承

 3.1  继承的概述

 3.2  继承的好处和弊端

 3.3 继承用会使用的关键字super

 3.4 继承用会使用的方法重写

 3.3 继承用会使用的关键字final

四.多态

 1.1  多态的概述

 1.2  多态中成员访问特点

 1.3  多态中成员访问特点


一. 类和对象

      1.1  类的介绍

             类是Java程序的基本组成单位,是对显示生活中一类具有共同属性和行为的事物的抽象,确定对象将会拥有的属性和行为.

             类的组成:   属性行为

             1. 属性:  在类中通过成员变量来体现(类中方法外的变量)

             2. 行为:  在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)

      1.2  类的定义

             类的定义步骤:

                                  1.定义类

                                   2.编写类的成员变量

                                   3.编写类的成员方法

public class 类名{
   // 成员变量
      变量1的数据类型   变量1;
      变量2的数据类型   变量2;
      ...
   // 成员方法
      方法1;
      方法2;
      ...
}

1.3  对象的使用

       1.创建对象

  •   格式: 类名 对象名 = new 类名();
  •   范例: Phone p = new Phone();

       2. 使用对象

   2.1 使用成员变量

  •   格式: 对象名.变量名
  •   范例: p.brand

  2.2 使用成员方法

  • 格式: 对象名.方法名()
  • 范例: p.call()

1.4  关键字private

  • 是一个权限的修饰符
  • 可以修饰成员(成员变量和成员方法)
  • 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

  • 提供"get变量名()"方法,用于获取成员变量的值,方法用public修饰
  • 提供"set变量名(参数)"方法.用于设置成员变量的值,方法用public修饰

1.5  关键字this

public calss Student {
    private String name;
    
    public void setName(String name){
       //  只有在这里加this.前缀   才可以修改上面声明的变量name
       this.name = name
   }
}

二.封装

     1. 封装概述

         是面向对象三大特征之一(封装,继承,多态)

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

     2. 封装的原则

         将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx(参数...)方法

    3. 封装的好处

        通过方法来控制成员变量的操作,提高了代码的安全性 把代码用方法进行封装,提高了代码的复用性

     1.1  构造方法的概述

       构造方法是一种特殊的方法

       作用:  创建对象

//格式
public calss 类名{
   修饰符 类名(参数){

  }
}
// 功能: 主要是完成对象数据的初始化

   1.2  构造方法的注意事项

  1. 构造方法的创建
  • 如果没有定义构造方法,系统将给出默认的无参构造方法
  • 如果定义了构造方法,系统将不再提供默认的构造方法

     2.构造方法的重载

  • 如果自定义了带参构造方法,还要使用无参构造方法,就必须再写一个无参构造方法

    3.推荐的使用方式

  • 无论是否使用,都手写无参构造方法

   1.3  StringBuilder概述

    作用: 如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,即耗时,也浪费内存空间,而这种操作还不可避免,那么有没有一种较好的方式可以解决这个问题呢? 答案是肯定有的,我们可以通过Java提供的StringBuilder类来解决这个问题

   1.3.1 StringBuilder和String相互转换

  1. StringBuilder转换为String     

            public String toString(): 通过toString()就可以实现

     2. String转换为StringBuilder

            public StringBuilder(String s)

    1.4  集合概述

           集合类的特点: 提供一种存储空间可变的存储模型,村粗的数据容量可以发生变化

           集合类有很多,目前先介绍ArrayList

           ArrayList<E>

  •                 可调整大小的数组实现
  •                 <E>:是一种特殊的数据类型,泛型

        举两个例子

public boolean add(E e)  
将指定的元素追加到此集合的末尾
public void add(int index, E element) 
在此集合中的指定位置插入指定的元素

三.继承

     3.1  继承的概述
  •       格式: public class 子类名 extends 父类名{ }
  •       范例: public class Zi extends Fu { }
  •       Fu: 是父类,也被称为基类,超类
  •       Zi: 是子类,也被称为派生类

     继承中子类的特点: 

  •      子类可以有父类的内容
  •      子类还可以有自己特有的内容
    3.2  继承的好处和弊端

    继承的好处

  • 提高了代码的复用性(多个类相同成员可以放在同一个类中)
  • 提高了代码的维护性(如果方法的代码需要修改,修改一处即可)

    继承弊端

  •    继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时,子类实现不得不跟着变化,削弱了子类的独特性

    什么时候使用继承?

    存在包含关系的时候使用继承   假设A包含B   就用B继承A    但是如果是并列关系    就不建议使用继承

   3.3 继承用会使用的关键字super

   super关键字的用法和this关键字是用法相似的

  •    this: 代表本类对象的引用
  • super: 代表父类存储空间的标识(可以理解为父类的对象引用)

   使用方法如下

  •    this:    变量  this.成员变量       构造方法  this(...)       成员方法  this.成员方法(...)
  • super:    变量  super.成员变量    构造方法  super(...)   成员方法  super.成员方法(...)
   3.4 继承用会使用的方法重写

   方法重写的概述

  • 子类中出现了和父类中一模一样的方法声明

   方法重写的应用

  •    当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类的方法,这样,即沿袭了父类的功能,又定义了子类有的内容

   方法重写注意事项

  • 私有方法不能被重写(父类私有成员子类是不能继承的)
  • 子类方法访问权限不能更低(public > 默认 > 私有)
    3.3 继承用会使用的关键字final

    final关键字是最终的意思,可以修饰成员方法,成员变量,类

    final修饰的特点

  • 修饰方法: 表明该方法是最终方法,不能被重写
  • 修饰变量:表明该变量是常量,不能被再次赋值
  • 修饰类:表明该类是最终类,不能被继承

    3.4关键字static

    static关键字是静态的意思,可以修饰成员方法,成员变量

    static修饰的特点

  •     被类的所有对象共享     这也是我们判断是否使用静态关键字的条件
  •     可以通过类名调用    当然,也可以通过对象名调用    推荐使用类名调用

四.多态

 1.1  多态的概述

    同一个对象, 在不同时刻表现出来的不同形态

    举例子: 柯基(狗)

    我们可以说狗是狗: 狗 dog = new 狗();

    我们也可以说狗是动物:  动物 animal = new 狗();

    这里狗在不同的时刻百年西安出来了不同的时刻,这就是多态

    多态的前提和体现

  •     有继承/实现关系
  •     有方法重写
  •     有父类引用指向子类对象
 1.2  多态中成员访问特点
  • 成员变量: 编译看左边,执行看左边
  • 成员方法: 编译看左边,执行看右边

为什么成员变量和成员方法的访问不一样呢?

  • 因为成员方法有重写,而成员变量没有
 1.3  多态中成员访问特点
  • 多态的好处: 提高了程序的扩展性

       具体体现: 定义方法的时候,使用父类作为参数,将来在使用的时候,使用具体的子类型参与操作

  • 多态的弊端: 不能使用子类的特有功能
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值