java笔记整理:变量的语法,访问限定符,引用的概念

本文深入探讨Java的面向对象特性,包括类、对象、继承、多态的概念及实现方式。详细解析变量的定义、作用域与生命周期,以及Java中的内存分配与管理,如栈区、堆区和方法区的区别和作用。

1、面向对象的语言
顶级(top-level)
public class A{
   成员级别(member-level)
   public void method(){
    方法级别(method-level)
   }
}
 system.out.println..语句只能出现在方法级别

2、变量:
   1、基本数据类型:
        数值类型:整型  byte |  short  |  int  | long
                         浮点  float  |  double
         字符类型  char 
         布尔类型  boolean


   2、引用数据类型:
        数组类型引用:   int[] a;
        类类型引用: Node cur;
        接口类型应用: interface IC{} ;   IC c;

 java中从来没有过对象类型的变量

3、引用是什么【重点】:
  引用是指向/找到对象的一个线索,当引用的值是null时表示该引用没有指向任何对象
  int[] a={1,2,3};  a是一个int[] 的引用,指向一个int[] 的对象
  class A{}    class B extends A{}  //B是A的子类
  1、A a=new A();   a是一个A的引用,指向A的对象
  2、B b=new B();        b是一个A的引用,指向A的对象
  3、A ab=new B();  ab是一个A的引用,指向B的对象
  4、B ba=new A();  ba是一个B的引用,指向A的对象
  4是错误的,大类型引用可以指向小类型的对象,小类型引用不能指向大类型的对象
例:设计一个表现多态的,数组类型的引用
    Object[] array=new String[10];   

4、变量的形式
  1、形参(paramters)    栈区   c
  2、局部变量(local variables)   栈区    d
  3、属性(fields)   堆区   a
  4、静态属性(static fields)  方法区  b
public class A{
   public int a;
   public static int b;
  public void method(int c){
      int d;
   }
}

5、方法的调用过程中,栈所起的作用
 变量的生命周期:变量所在的内存块的存活周期
  java中的三个内存与区域  :栈区  堆区  方法区    (方法区也可以算栈区) 

6、变量的定义语法
  【限定符】 变量的类型          变量名称;
   属性           基本数据类型       小写开头,下一个单词首字母大写
   静态属性    引用数据类型       
  (1)在内存上为这个变量保留一块区域
    (2)用变量名关联到该区域
       作用域:空间上,变量名和该区域关系生效的范围(scope)
 作用域: 空间上的/静态的
 生命周期:  时间上的/动态的

7、关于变量的赋值:
  int a=10;
  等号左边是个框,右边的值往里装

8、class  A extends 父类 implements 接口{
   //属性
  //静态属性
  //方法
  //静态方法
  //构造方法
  //内部类
  //静态内部类
}

  1、构造方法:注意默认的那个无参构造方法
  2、this的使用:1、调用自己的其他构造方法    2、代表指向本对象的引用  3、访问本对象的属性或方法
 方法签名:方法名称+形参列表          
 方法重载 : 方法名称相同,形参列表不同

9、构造对象的语法:
  Node node=new Node(1);
  new:1、为对象计算所需内存的大小  2、申请空间   3、 初始化0x0
  调用定义时初始化/构造代码块/构造方法对属性初始化
  代表对象拥有完整生命的时期
  没有引用指向该对象,到对象被正在垃圾回收的阶段

10、static只能出现在成员级别
       static 和对象进行解绑
    (1)静态属性   属性存在对象(堆)上,静态属性存在类(方法区)上
      (2)静态方法    
       Node n1=createList(); //静态方法
       Node rhead=new List().reverse(n1);//普通方法
静态方法中  1、不能直接访问属性   2、不能直接调用普通方法

11、访问限定符 :(只能出现在顶级和成员级别,只有public 和 不写 能出现在顶级)
 public
/private
/protected
不写/package-private  
方法的调用在栈上开辟,但是方法的代码在方法区上
每次方法调用都会有一个调用栈,用完就释放

先构造外部类对象在构造
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值