java基础笔记第三章

java基础笔记第三章JAVA 学习笔记第三章 3 JAVA 面向对象 3 1 面向对象的三个阶段 3 2 创建类 3 3 创建对象 3 4 局部变量和成员变量的区别 3 5 构造方法 构造器的目的不是为了创建对象 因为在调用构造器的时候 对象已经创建好了 并且属性有默认的初始化的值 调用构造器的目的是给属性进行赋值 一般我们会重载构造器 在重载的构造器中进行属性的赋值 重载构造器以后 如果空构造器没写

大家好,我是讯享网,很高兴认识大家。



JAVA学习笔记第三章

3.JAVA面向对象

image-20210514212229902

image-20210514221657297

3.1面向对象的三个阶段

image-20210514221909954

3.2创建类

image-20210514221844123

3.3创建对象

 
讯享网 

3.4局部变量和成员变量的区别

image-20210514222618271

image-20210514223008707

3.5构造方法

构造器的目的不是为了创建对象,因为在调用构造器的时候,对象已经创建好了,并且属性有默认的初始化的值,调用构造器的目的是给属性进行赋值。

一般我们会重载构造器,在重载的构造器中进行属性的赋值。

重载构造器以后,如果空构造器没写,那么系统也不会再分配空的构造器,那么调用空构造器的话会出错。

image-20210514223514678

讯享网

程序存在就近原则,在对象的属性前面加上this来修饰,this表示正在创建的那个对象

image-20210514225027095

3.6内存分析

image-20210514225644426

image-20210514230136336

3.7this

image-20210514234215630

image-20210514234033921

需要使用this.age,就可以拿到Person类中的属性age

image-20210514234346886

this.eat();

image-20210514234526735

this(name, age);

3.8static

image-20210514234959162

static修饰属性:

image-20210514234926594

image-20210514235322889

image-20210514235522725

image-20210514235612535

属性:

  • 静态属性(类属性)
  • 非静态属性(实例变量)

staic修饰方法:

static修饰的方法优先于对象存在,在静态方法中不能访问非静态的属性和方法,在静态方法中不能使用this关键字。

  • 不能访问非静态的属性
  • 不能访问非静态的方法
  • 不能使用this关键字
  • 非静态的方法可以使用对象名.方法名调用,静态的方法既可以创建对象来调用也可以使用类名.方法名调用。

image-20210514235831583

image-20210515000402665

3.9代码块

代码块分类:普通块、构造块、静态块、同步块(多线程)

普通块在类的方法中:一般限制局部变量的作用域

构造块在类的方法之外:实现在方法外写代码,优先于普通块执行

静态块:在构造块的基础上加上static修饰,同样由于static修饰,静态块只能访问到静态属性和静态方法,且较构造块先执行,在类加载的时候执行一次

image-20210515001039260

执行顺序:静态块>构造块>普通块

image-20210515001457250

3.10包

包的作用:

  • 解决.java重名问题
  • 解决权限问题

包名定义:全部小写,中间用.隔开,加上域名.模块名,不能使用系统关键字(nul,con,com1-com9),包声明一般在非注释性代码第一行

image-20210517011116699

java的导包没有包含和被包含的关系,设置目录是平级的

静态导入

image-20210517011637984

在静态导入以后,同一个类有相同的方法,优先使用自己定义的。

3.11封装

image-20210517011918016

image-20210517012307601

image-20210517012609350

3.12继承

image-20210517012944239

image-20210517013350840

image-20210517013600570

内存分析:

image-20210517013830314

权限修饰符:

image-20210517014015815

image-20210517014306734

重写:

image-20210517092750504

image-20210517093702656

supper:

image-20210517094043563

image-20210517094150552

image-20210517094447904

image-20210517095247604

image-20210517094913870

因为super和this都要放在第一行,并且super()和this()构造器同时使用会覆盖值。

object类:

image-20210517100016513

object类中toString方法:将类转换成字符串

object类中的equals方法:提供对象的内容是否相等,对象的内容指的就是属性,但是object类提供的就是比较两个类的地址,一般不会直接使用,会在继承object类中重写方法,自己定义判断是否相等

image-20210517231103994

image-20210517232003217

自动生成equals

image-20210518112628568

image-20210518113048910

类和类之间的关系

image-20210518113733821

image-20210518113755018

image-20210518113813298

3.13多态

多态和属性无关,多态指的是方法的多态,而不是属性的多态

可以提供扩展性,但是扩展性没有达到最好,以后还会学习反射

image-20210518114851480

image-20210518115051532

image-20210518115908262

image-20210518120045332

image-20210518120322845

简单工厂模型:

image-20210518123047584

image-20210518123000213

3.14final

final可以修饰变量、方法、类

final修饰变量

image-20210518123545057

image-20210518123815786

final修饰方法

image-20210518123933718

final修饰类

image-20210518124026527

image-20210518124214183

image-20210518124325485

3.15抽象类和抽象方法

image-20210518124701126

java基础笔记第三章image-20210518124847414

image-20210518125106804

image-20210518125219827

3.16接口

image-20210518125255715

image-20210518125400350

image-20210518125456194

image-20210518125634816

image-20210518125652710

image-20210518125753827

image-20210518125915623

image-20210518125959186

image-20210518130026632

image-20210518130200739

image-20210518130345715

image-20210518130453986

image-20210518131052909

image-20210518131014234

image-20210518131034198

使用接口中的非抽象方法:

image-20210518131155797

接口中的静态方法:

image-20210518131608367

image-20210518131327465

image-20210518131516418

image-20210518131531762

为什么jdk1.8之后新增非抽象方法:

image-20210518131937575

3.17内部类

image-20210518132503097

image-20210518132543100

image-20210518133039195

image-20210518133104701

image-20210518133014770

局部内部类:

image-20210518133342609

image-20210518133542914

image-20210518133645015

image-20210518133829761

3.18面向对象项目

image-20210518133916288

小讯
上一篇 2024-12-24 23:42
下一篇 2024-12-31 16:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/5103.html