JAVA复习DAY2

本文介绍了Java编程中的基础知识点,包括字符串操作(如遍历、逆置和子串提取)、Stack和Queue数据结构的使用注意事项,以及类访问修饰符、封装和继承的原理和实践。作者详细讲解了如何通过Set和get方法封装属性,以及如何正确地继承和使用super和this关键字。
摘要由CSDN通过智能技术生成

一.算法题部分收获


<1>关于String的相关方法:

1.遍历String方法:用for循环,每次获取一个元素  char temp =s.charAt(i);

2.把char[]转化为String:String res=String.valueOf(char[]);

3.把String逆置:

String str="abc";
String res=new StringBuffer(str).reverse().toString();

4.String返回特定的字串:

String str="abcde";
String res=substring(0,3) //包含起始,不包含结尾,所以返回abc

<2>关于Steck和Queue的相关方法:


在出栈和出队方法之前一定要保证栈和队列非空,否则会出现空栈空队列异常。这个特殊情况要考虑到。

二.JAVA部分收获

关于类访问修饰符的作用范围

1.JAVA的封装特性: (JAVA三大特性:封装  继承  多态)

1.封装步骤:

<1>属性私有化,外部不能直接修改

<2>利用public void Set方法修改属性   构造器可以和set方法结合

<3>利用public XX get方法获取属性的值

2.JAVA的继承特性:

<1>JAVA为什么要使用继承? 解决代码复用性问题,关键字extends

<2>JAVA继承简单示意图:

<3>JAVA继承的细节问题:

1.子类不能直接访问父类私有属性和方法,要通过父类提供的公共方法去访问。 

2.子类必须调用父类的构造器完成初始化。

3.当创建子类对象时,不论调用子类哪个构造器,系统默认调用父类无参构造器。如果父类没有提供无参构造器,需要在子类的构造器中用super(参数列表)关键字去选择调用父类哪个构造器,否则编译失败。

4.super使用时,必须放在子类构造器第一行。

5.super和this都只能在构造器第一行,两者不能同时出现在同一个构造器。

6.JAVA所有类都是Object类的子类。

7.创建子类对象,先调用顶级父类构造器,一直往下,直到调用该子类构造器。

8.JAVA是单继承,只能有一个直接父类。思考:如何同时让A类继承B和C类?让A继承B,B继承C

9.不能滥用继承,子类父类要有正确的逻辑关系。如:猫继承动物类,小学生继承学生类。

<4>JAVA继承的本质:

1.首先在方法区加载类信息:顺序为 顶级父类->该子类

2.在堆中为对象分配内存,内存地址0x11,首先为爷爷类属性分配空间,为name和hobby分配内存空间,并在常量池中创建变量,堆中存放地址。其次是爸爸类,age是基本数据类型,直接存放在堆中。最后是儿子类。

3.然后main方法中在栈中创建son对象指向该内存地址。整个继承关系初始化完毕

Q:若儿子类对象查询name,返回的是哪个name?

A:(1)首先查找儿子类是否有name变量,若有且可访问,则返回。

   (2)否则一直向上查找,直到Object类为止。 

<5>super关键字:super.方法名/变量名

1.super代表父类的引用,用于访问父类属性,方法,构造器。不能访问父类私有属性。

2.若该类上级类有多个同名属性,super关键字采用就近原则,先查直接父类,查不到再往上。

<6>this和super的区别:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茉莉魔力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值