1.什么是类和对象
对象: 万物皆对象,只要是客观存在
的事物
,我们都可以称之为对象
;
我们把具体的事物
称之为对象,这些对象都是看得见摸得着的;
什么是面向对象?
面向对象就是我们面向对象的一个过程,我们更加关注与这个对象是什么;
类de概念:
首先它是个抽象
的概念,实际上它是不存在的
,只是用来描述对象的信息;
用一个比喻,类就像是个模子
,它用来确定对象将会拥有的特征
和行为
,即属性
和方法
;
什么是对象的属性和方法?
属性:就是这个对象拥有的各种特征,每个对象的每个属性都拥有特定值;
方法:对象能够执行的操作,说白了就是对象能够干什么;
类的特点:
类是对象的类型;
具有相同属性和方法的一组对象的集合;
类是抽想的概念,是不存在的,对象是客观存在的事物;
换句话说:类是对象的抽象,对象是类的具体化;
类的重要性
所有Java程序都以类class为组织单元;
类的组成:属性和方法
定义一个类的步骤:
- 定义类名
- 编写类的属性
- 类的方法
public class 类名{
//定义属性部分(成员变量)--》有什么
属性1的类型 属性1;
属性2的类型 属性2;
...
属性n的类型 属性n;
// 定义方法部分(可以有多个方法,也可以没有方法)--》干什么
方法1;
方法2;
...
方法m;
}
使用对象的步骤:
1.创建对象(实例化)
类名 对象名 = new 类名();
2.使用对象
- 引用对象的属性:
对象名.属性
- 引用对象的方法:
对象名.方法名()
代码实现:
public class Telphone{
float screen;
float cpu;
void sendMessage(){
System.out.println("发短信");
}
void watchTV(){
System.out.println("看电视");
}
}
public static void main(String[] args){
Telphone phone = new Telphone;
phone.screen = 5;//给screen属性赋值5
phone.sendMessage();//调用sendMessage()方法;
}
- float类型,赋值时后面要加f
- 未赋初值,默认为0.0
描述对像通常有成员变量和局部变量来描述
成员变量: 在类中定义,用来描述对象将要有设么;
局部变量:在方法中定义;
成员变量与局部变量的区别
1.作用域不同
局部变量的作用域仅限于定义它的方法中使用,其他的方法不能调用;
成员变量的作用于在整个类内部都是可见,即在整个类中定义的所有方法都可以调用成员变量
2.初始值不同
Java会默认给成员变量一个初始值0;
但Java不会给局部变量一个初始值;
这里,成员变量可以值声明不赋值,Java会给他个默认值为0;但是局部变量必手动给他个初始值,不然会报成员变量未初始化;
3.在同一个方法中,不允许有同名局部变量;
但是在不同的方法中,可以有同名局部作用域,因为他们只能在自己的方法中起作用,互不影响;
4.两类变量同名时,局部变量具有更高的优先级,就近原则;
Java中的构造方法
使用new+构造方法 创建一个新的对象
Java中static使用之静态变量
Java 中被 static
修饰的成员
称为静态成员
或类成
员。
它属于整个类所有
,而不是某个对象所有,即被类的所有对象所共享。
静态成员可以使用类名
直接访问,也可以使用对象名
进行访问。当然,鉴于他作用的特殊性更推荐
用类名
访问;
使用 static 可以修饰变量
、方法
和代码块
。
注意:静态成员
属于整个类
,当系统第一次使用该类时,就会为其分配内存空间, 直到该类被卸载才会进行资源回收!
记住:public
修饰符表示公开的、公有的,静态变量要使用 static
修饰;
Java 中的 static 使用之静态方法
与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法
或类方法
。
其实之前我们一直写的 main 方法就是静态方法。静态方法的使用如:
需要注意:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:
注意:
静态方法是属于类的,内存必须为它分配内存空间,这个空间一直由静态方法占用,内存管理器不会由于静态方法没有被调用而将静态方法的存储空间收回,这样如果将所有的方法都声明为静态方法,就会占用大量的内存空间,最后是系统变慢。
而普通的成员方法是由对象调用的,内存并不会一直为起分配内存,只有调用的时候才为其分配存储空间,而当其没有被调用时,存储空间就会被内存管理其收回,释放没有用的空间,提高的系统的运行速率!