IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java入门4 -> 正文阅读

[Java知识库]Java入门4

12.什么时候将变量定义为成员变量

这个变量可以描述这个类的具体属性(现实具体事务的属性);如果不能描述这个类的具体属性,优先定义局部变量.

13.类的初始化过程

Student s = new Student();完成了那些事情

(1)在栈内存中开辟空间Student s,变量s开辟

(2)new Student()在堆内存中申请空间

(3)申请空间的同时对成员变量进行默认初始化

(4)默认初始化与申请空间完毕后,产生堆内存空间地址

(5)通过构造方法初始化将堆内存空间地址值赋给栈内存的变量s

(6)栈内存的变量s指向堆内存地址

(7)当对象整个完毕之后,等待垃圾回收器空闲的时候回收不用的对象.

14.继承:将多个类的共性内容抽取出来,放在一个独立类中,让这个独立类和这多个类产生一种关系.

格式:

class 子类名 extends 父类名{}

继承的好处:

(1)提高了代码的复用性

(2)提高了代码的维护性

(3)继承是多态的前提

继承的弊端:继承存在耦合性

开发的原则:低耦合,高内聚.

耦合:类与类之间的关系;低耦合:关系越简单越好

内聚:指的是某件事的执行能力;高内聚:一个类能解决尽量使用一个类完成.

继承的特点

(1)类与类的继承关系只支持单继承

(2)虽然类与类之间只能单继承,都是可以多层继承.

15.代码块

分类:

(1)局部代码块({}):在方法定义中定义

作用:限定局部变量的生命周期

(2)构造代码块({}):在构造方法之前,类的成员的位置

特点:在执行构造方法之前,如果存在构造代码块,优先执行构造代码块,然后才是构造方法

(3)静态代码块(static{}):

特点:随着类的加载而加载

优先级:静态代码块>构造代码块>构造方法

16.static关键字

static(静态修饰符):共享,共用,可以被多个对象共用.

特点:

(1)被静态修饰的变量或方法,都是随着类的加载而加载.

(2)优先于对象存在,不能和this关键字共存;被静态修饰的优先进入了static内存区,this则是需要等待对象被创建完毕.

(3)共享,共用,可以被共用.

静态修饰的变量或方法的访问:类名访问

静态的成员变量:

类名.变量名;

静态的成员方法:

类名.方法名();

使用静态的注意事项:静态永远只能访问静态.

(1)非静态的成员方法,可以访问静态的成员变量或非静态的成员变量.

(2)静态的成员方法只能访问静态的方法或者静态的成员变量.

17.静态变量和成员变量的区别

(1)数据存储区域:

静态变量:存储在方法区中的共享内存区域中静态区域中(static区域)

成员变量:堆内存中

(2)别名不同(称谓)

静态变量:与类有关系------>类成员

成员变量:对象的特有属性------->实例(对象)变量

(3)生命周期不同:

静态变量:随着类的加载而加载,随着类的加载完毕,进入static区域中消失

成员变量:随着对象的创建而存在,随着对象的创造完毕等待垃圾回收器空闲的时候回收

(4)调用方式不同:

静态变量:既可以使用对象名访问,也可以使用类名访问(建议使用)

成员变量:只能使用对象名来访问

继承的注意事项:

(1)因为私有成员只能在本类中访问,外界不能访问,所以子类继承父类是只能继承父类非私有的成员,但是私有的成员可以间接通过公共访问方法访问.

(2)子类继承父类,不能继承父类的构造方法,但是可以通过super关键字访问.

继承中成员变量的访问:

(1)子类的成员变量名称与父类的成员变量名称不一致时:分别调用.

(2)子类的成员变量名称与父类的成员变量的名称一致时:遵循就近原则.

a.先在子类的局部位置找,如果存在,使用,如果不存在------>b

b.在子类的成员位置中找,如果存在,使用,如果不存在------>c

c.在父类的成员位置中找,如果存在使用,如果不存在则报错.

继承中构造方法的访问:子类通过super关键字访问父类的构造方法.

(1)子类中所有的构造方法都要默认访问父类的无参构造方法(所有子类的构造方法中的第一句话是:super();访问父类的无参构造方法)

(2)在继承关系中,子类的构造方法可能会用到父类的数据,所以需要让父类初始化(构造方法)

(3)接着子类在进行初始化

如果在继承中,只提供有参构造方法,子类会出现什么现象?如何解决?
    子类会全部报错.
        报错原因:
            在类中系统会默认提供一个无参构造方法,但是如果为类提供了一个有参构造方法,则系统不会提供无参构造方法;而子类的构造方法都会默认访问父类中的无参构造方法.
        解决方案:
            (1)给父类提供一个无参构造方法
            (2)通过super()让子类中的所有构造方法直接访问父类的有参构造方法.
            (3)先通过this()让子类中的有参构造方法访问本类中的无参构造方法,然后通过super()让本类中的无参构造方法访问父类的有参构造方法,让其初始化.

18.super关键字

super:代表父类的空间标识(父类对象的地址值引用)

19.this与super的区别

this:代表当前类的对象的地址值引用

super:代表父类的空间标识(父类对象的地址值引用)

访问成员变量(属性):

this:访问当前类的成员变量;格式:this.变量名

super:访问父类的成员变量;格式:super.变量名

访问构造方法:

this:访问当前类的构造方法;格式:this()

super:访问父类的构造方法;格式:super()

访问成员方法:

this:访问当前类的成员方法;格式:this.方法名()

super:访问父类的成员方法;格式:super.方法名()

20.方法重写

方法重写(覆盖/复写):子类继承父类的时候,子类的出现了和父类一模一样的方法声明

目的:使用子类的功能将父类的功能覆盖掉.

21.final关键字

final:状态修饰符,最终的,无法更改的.

特点:

(1)可以修饰类,该类不能继承,它不能在进行扩展.

(2)可以修饰变量,此时这个变量就成了一个常量:自定义常量.

(3)可以修饰成员方法,但是被修饰之后这个成员方法就不能被重写了.

应用场景:自定义常量居多(与static结合一块使用)

final修饰的基本数据类型与修饰引用数据类型的区别:

修饰基本数据类型:编译时期常量(public static final 基本数据类型 变量名 = 常量值 )

基本数据类型的值不能在改变,只能赋值一次,不能在赋值了;此时JVM只检查语法,不需要加载.

修饰应用数据类型:运行时期常量

应用数据的空间地址值不能在改变,但是里面的成员变量(没有加入final)依然可以访问;此时JVM需要加载类

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:15:46  更:2021-10-18 17:18:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:24:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码