数据结构笔记01

1.理解引用

class Node{
   int val;
   
Node p=new Node();
Node q=new Node();

p=q;
p.next=q;
p=q.next;
引用是一种只能指向对象的数据类型
一个引用不可以指向另一个引用
引用只能用来指向对象 对象不能指向对象 引用不能指向引用**引用不能同时指向多个对象

public static void main(String[] args) {
        //构造一个1 2 3 4的链表
        //引用的对象的引用指向对象
        Node head=new Node();
        //1.定义了head引用 2.构造了Node对象 3.让head引用指向该Node对象
        head.val=1;
        //修改head引用指向的对象中的val属性

        head.next=new Node();
        //1.构造了Node对象 2.让head引用指向的对象中的next引用指向该Node对象
        head.next.val=2;

        head.next.next=new Node();
        head.next.next.val=3;

        head.next.next.next=new Node();
        head.next.next.next.val=4;

引用 =null:引用不指向任何对象
引用= =null:返回引用当前是否没有指向对象
引用==!null:返回引用当前是否又指向任何对象

    在任意时刻,:
    一个引用最多只能指向一个对象
    一个对象可以同时被多个引用指向

引用数据类型:
1.class类型的引用
2.interface类型的引用
3.数组类型的引用

class A{…}
class AA extends A{…}
class AAA{…}

A p=什么类型的对象

class 类型的引用 :只可以指向该类以及它的子类类型的对象
p=new AA(); 这句代码若正确,则要求:要么AA就是A 要么AA是A的子类

interface B{…}
class BB implements B{…}
class BBB{…}

interface类型的引用,只可以指向
B p=new BB(); 这句代码若正确,则要求:BB类必须实现了B的接口

通过引用可以调用什么方法,重点看引用类型
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值