三条主线:
类及类的成员:属性、方法、构造器、代码块、内部类
面向对象的三大特征:封装、继承、多态
其他关键字:this、super、abstrct、interface、撕他、package、import
主线一:类及类的成员
1.类、对象
类:class,对一类事物的描述,抽象概念定义。(属性/成员变量、方法/函数)
对象:new,实际存在的事物个体,实例。
过程:
创建类,设计类的成员class Person{String name;public void eat(){}}
创建类的对象Person a=new Person();
调用类的属性或方法a.name=""; a.eat();
2.内存解析
虚拟机栈:存储局部变量
堆:对象实例
方法区:被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码
3.变量
属性(成员)变量:
定义在类{}里
0/0.0/false/null
加载到堆空间
局部变量:
定义在方法内
没有默认初始值,需要赋值
加载到栈空间
4.对象数组
定义一个对象数组后,系统只是分配了一个引用空间(只是声明),并没有实际分配内存空间给数组中的元素,因此对象数组中的元素还是需要使用new运算符来实例化 。
string[] a=new string[3]; a[0]=new string();
5.匿名对象
6.方法重载
同一个类
同一个方法名
不同的参数列表
跟权限修饰符、返回值无关
7.可变个数形参
数据类型 ... 变量名
string ... a与string[] a相同
8.变量赋值
基本数据类型:
int a=10;
int b=a;//两个空间,一变另一不变
引用数据类型:
string a=new string();
string b=a;//指向同一个地址,一变全变
9.
原文:https://www.cnblogs.com/frezxx/p/13538217.html