这两天,把imooc的视频都刷了一遍,主要学习的内容是类,封装,的概念。
一.类和对象
class 以及 实例化的对象
类:引用类型,储存在 堆(heap)中
结构: 值类型,储存在 栈(stack)中
//刚好在面向对象倒数第二章里面重学了 栈.(是一种先进后出,后进先出的储存格式?)
二.属性的封装
封装的概念:就是把属性,字段封装(静态?),以及动态的方法存在里面。
用只get不能set的方法设置只读属性 ,readonly。
//封装的快捷键 ctrl + R +E自动封装。
三.方法
1.一般执行的(动态)方法
分为 无参方法跟有参方法 void跟(int)等等,其中带参数方法一般需要return返回值。
2.return也可以结束调用(但是我不是很清楚实际的用处)
3.方法的重载
蛮重要的部分,主要指的是方法可以有同一个名字,但是系统识别其中不同的参数,将其定为不同的方法,这样子可以用不同的参数来调用不同的方法。
class MethodOverloading {void receive(int i) {System.out.println(\"Received one int data\");System.out.println(\"i=\"+i);}void receive(float f) {System.out.println(\"Received one float data\");System.out.println(\"f=\"+f);}void receive(String s) {System.out.println(\"Received a String\");System.out.println(\"s=\"+s);}public static void main(String [] args){MethodOverloading m = new MethodOverloading();m.receive(3456);m.receive(34.56f);m.receive(\"方法重载\");}}
四.构造方法
1.这里我之前经常跟结构弄混,主要的概念是,每个新的类一般会默认有一个无参构造方法 用来初始化整个类。
一般的使用方法是,用跟类同样的名称,加上参数。
ps还可以用this来确定当前的对象
2.其中构造方法跟之前的方法也是一样可以重载,通过不同的参数
3.还学了一个初始化器(需要有无参构造函数,Child.child = new child(){\” “” \”}
class Dog{string Name;//get跟setpublic Dog()//无参构造 类里面的初始值需要自己定义{}public Dog(string name,string sex,string age){Name = name;Age =agesex = sex//赋值}}
五.结构
跟类类似,但也有很多不同之处
1.结构里面不能用无参构造函数,因为其已经默认构造了一个。
2.带参构造函数需要对里面所有属性都赋值?
不太清楚,再学一次。
enum 枚举 限定了取值范围的一组有限的值 是值类型
ref 值类型转换为引用类型,不会弄太多副本。
out 可以获得多个结果的值。
return 一般只能获得一个。