类:就是由一个个成员和方法(函数)组成的,等同于c语言里面的结构体和函数的结合
对象:等同于变量
?
好处:简化代码,方便开发
?比如:人、动物、、电脑、手机等等都可以单独封装成一个类,而类又包含一个个成员,方法,封装好后可以很方便的反复调用该类
public class People {
//java中的类等同于c语言中的结构体和函数(方法)的结合
//eg:
//一个class People类:即自己定义一个类
//人这个类可以包含人的信息、动作(行为)
//人的信息:
/*补充: public是java中的关键字,字面理解:公开的,实际为被public修饰的可以在所有类中调用
private是java中的关键字,字面理解:私有的,实际为被private修饰的只能在本类中调用
eg: private int age; 那么age在别的类中调用就会报错
*/
String name;
private int age;
private String gender;
//获取年龄,我们可以判断是否合法在赋值
//写一个方法进行判断
public void SteAge(int a) {
if (a >= 0 && a <= 150) {
age = a;
}
}
public int GetAge() {
return age;
}
//人的动作(行为):
//封装成一个个函数(方法)
public void Sleep() {
System.out.println("睡觉咯");
}
public void Eat() {
System.out.println("吃饭咯");
}
}
?
public是java中的关键字,字面理解:公开的,实际为被public修饰的可以在所有类中调用 private是java中的关键字,字面理解:私有的,实际为被private修饰的只能在本类中调用 eg: private int age; 那么age在别的类中调用就会报错
?
若没有构造方法,虚拟机会自动构造方法并且执行,若在类中已经构造方法,调用类时虚拟机会自动识别并且调用相应的类
?构造方法的格式:
public class 类名 {
? ? ? ? //构造方法
? ? ? ? public 类名(里面可以带参数或者不带参数都行) {
? ? ? ? ? ? ? ? //类名前后必须保持一致并且构造方法不能带任何返回参数(void也不行)才是构造方法
? ? ? ? }
}
?
?注意:
? ? ? ?1. 构造方法的定义:
- 如果没有提供构造方法系统会默认提供一个无参数的构造方法
- 如果提供了构造方法(无论该方法是有参还是无参)系统都不再提供默认构造方法?
2. 构造方法的重载:
带参数构造和不带参数构造的方法重名即构造重载,在Java中方法(函数名)名是可以相同的,但是参数要不同
new关键字实际意思就是动态开辟内存,即在堆区开辟一块空间,等同于c语言动态内存开辟函数(如:malloc、 realloc、 calloc?),c语言中我们知道调用完动态内存函数后,若空间开辟成功将返回一块空间的起始地址,new也不例外,虽然Java中没有指针的概念,但处处都在使用着
如:
具体可看我C语言中动态内存的章节嘿嘿,都同理,不重复赘述?
http://t.csdnimg.cn/hqH7Uhttp://xn--zuga
成员变量等同于全局变量,成员变量在整个类中都生效,局部变量只在所定义的方法中生效,一句话讲塞在哪个括号范围内定义就在哪个括号范围内有效
局部变量和全局变量在内存中所处范围也可参考上面文章嘿嘿?
?