Java语法总结

Java语言分为个等级
顶级(类外)
成员级别
方法级别(只有方法级别才能出现语句,这里说的语句不包括变量定义语句)
顶级;
public class A {
成员级别;
public A() {
方法级别;
}
}
对象只有
基本数据类型和引用数据类型

int a;a为基本数据类型,它不是对象

1.基本数据类型 (8个)
数值
整型 byte | short | int | long
浮点 float|double
字符 char
布尔 boolean
2.引用数据类型
数组类型引用 int[] a;
类类型引用 Node node;
接口类型引用 interface IC {} IC=c;
所有变量都是引用类型或基本数据类型,指向对象,
从来没有对象类型的变量,变量本身不是对象

3.引用是什么?
引用是指向对象的线索,它什么也不是,当引用值为null时,它不指向任何对象为空引用
int[] a={1,2,3}
a是一个int数组类型的引用指向一个int数组类型的对象

多态
大类引用指向小类对象

父类引用指向子类对象;
父类为动物,子类对象为鸟,动物指向鸟,鸟是一种动物
不能是鸟指向动物,不能说动物就是鸟
子类是父类的子集

interface IC {}
class C implement IC {}
IC ic=new C();
ic是一个IC类型的引用,指向C类型的对象
接口类型

设计一个表现多态的,数组类型的引用
数组类型引用表现多态
Object[] array=new String(10);
String 是Object的子类

变量的四种形式 变量不能出现在顶级语句,不能在类外;
1.方法中形参
2.局部变量
3.属性
4静态属性

变量的生命周期
变量所在代码块的周期,也就是调用方法期间存活

main() {
method1;
method2;
method3;
}
栈区
main区域(里面有形参的地方)
method1区域(…)

时间周期(动态的)是时间上的概念 运行才开始有,运行完就没了
作用域(静态的)是空间上的概念,就是写代码,存在的,是静态的一个与变量关联的范围,

变量的赋值
int a=10;
区域(框框)=值

class A extends 父类 imstanceof 接口{
属性
静态属性
方法
静态方法
构造方法
内部类
静态内部类
}
1.构造方法:
注意默认的无参构造方法,若有有参的构造方法,则系统不会再给你加默认的
2.this的使用
1.调用自己的其他构造方法
2.代表指向本对象的引用
3.访问本对象的属性和方法
3.方法签名 方法名加形参列表 ->对应-> 方法重载记住,计算机通过方法签名来判断重载

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

A a=new a();
new关键字把空间初始化0/null/0.0 根据类型,反正是有关0的
只要调用构造方法也是赋值,即便是零
不写默认时A(){},构造的对象没有初始化,即便new了有0;但是方法体是空的,所以还是没有初始化;

static只能用在成员级别 方法前加,属性前加,内部类前加
有static与对象解绑,存在栈区,无static ,存在堆区

静态方法中
1.不能直接访问属性
2.不能直接调用普通方法
静态属性
属性存在对象(堆)上,静态属性存在类(方法区),

普通方法隐含this(this就代表对象本身)指的是这个对象调用了方法

A是外部类B是内部类
静态内部类
new A.B() 没有外部类对象
非静态
new A().new B() 先构造外部类对象在构造一个内部类对象

访问限定符出现在成员级别,只有public或者不写出现在顶级级别中,
所有限定符不会出现在方法级别中(方法的大花括号里面)

方法的调用在栈上开辟,但是方法的代码在方法区上

每次方法调用都会有一个调用栈,用完就释放。

GC回收的是没有引用指向的对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值