文章目录
一、面向对象基本概念
什么是类?
1、类是:分类、类别。
2、通过分类,我们可以区别不同的事物种类,在日常生活当中,我们常常这样做,比如:房子(埃平方、大别墅…)、车子(自行车、小轿车、公交车…)、植物(菊花、乔木、桦树…)、陆生动物(大象、老鼠、狼…)、水生生物(石斑鱼、乌龟、鲸鱼…)等等。
3、所以,类是一组具有相同特性(属性)与行为(方法)的事物集合。
二、类与对象
1、类与对象的关系
1.1类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。
1.2 类由属性和方法组成:
· 属性:就相当于一个个的特征
· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、睡觉
在Java中可以使用以下的语句定义一个类:
class 类名称{
属性名称;
返回值类型 方法名称(){}
}
2、对象的定义:
一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:
类名称 对象名称 = new 类名称() ;
按照以上的格式就可以产生对象了。
如果要想访问类中的属性或方法(方法的定义),
则可以依靠以下的语法形式:
访问类中的属性:
对象.属性 ;
调用类中的方法:
对象.方法() ;
3、在java中对象声明有两种含义
声明对象:Horse horse= null; ;
// 表示声明了一个对象,但是此对象无法使用,horse没有具体的内存指向
实例化对象:horse= new Horse() ;
// 表示实例化了对象,可以使用
//通过对象调用方法:
horse.eat()
//匿名对象调用方法:
new Horse().eat()
public class test001{
public static void main(String[] args){
/**
对象的定义:
一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:
类名称 对象名称 = new 类名称() ;
*/
//表示声明了一个对象,但是此对象无法使用,horse没有具体的内存指向
Horse h = null; //声明一个类的变量(除了八种基本数据类型外,其他的都是引用类型,包括数组)
//创建一个Horse类型的对象,表示实例化了对象,可以使用
h = new Horse();
//有了对象,就可以开始调用对象的属性和方法了。
/**
访问类中的属性:
对象.属性 ;
调用类中的方法:
对象.方法() ;
*/
h.name = "汗血宝马";
h.age = 350;
//通过对象调用方法:
h.run(); //调用方法,方法就会被执行
//匿名对象调用方法: 匿名对象:只能用一次,用了之后,对象就会被释放
new Horse().eat();
//释放对象,相当于销毁
h =null;
//h.eat(); //当对象不存在时,调用其属性或方法时会报错(空指针:java.lang.NullPointerException);
}
}
/**
定义对象格式:
class 类名称{
属性名称;
返回值类型 方法名称(){}
}
*/
//自定义类型(引用类型)
class Horse{
//在类中定义属性(特征)
String name;
int age;
public void run(){
System.out.println("我是马,名字叫:"+name+",我"+age+"岁了,我可以日行千里");
}
public void eat(){
System.out.println("我吃仙草,而且吃的多");
}
}
结果:
new 关键字表示创建一个对象
new 关键字表示实例化对象
new 关键字表示申请内存空间
注意:如果使用一个没有申请内存空间的对象,会报空指针异常:
java.lang.NullPointerException
public class test001{
public static void main(String[] args){
/**
对象的定义:
一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:
类名称 对象名称 = new 类名称() ;
*/
//表示声明了一个对象,但是此对象无法使用,horse没有具体的内存指向
Horse h = null; //声明一个类的变量(除了八种基本数据类型外,其他的都是引用类型,包括数组)
//创建一个Horse类型的对象,表示实例化了对象,可以使用
h = new Horse();
//有了对象,就可以开始调用对象的属性和方法了。
/**
访问类中的属性:
对象.属性 ;
调用类中的方法:
对象.方法() ;
*/
h.name = "汗血宝马";
h.age = 350;
//通过对象调用方法:
h.run(); //调用方法,方法就会被执行
//匿名对象调用方法: 匿名对象:只能用一次,用了之后,对象就会被释放
new Horse().eat();
//释放对象,相当于销毁
h =null;
//h.eat(); //当对象不存在时,调用其属性或方法时会报错(空指针:java.lang.NullPointerException);
h.eat();
}
}
/**
定义对象格式:
class 类名称{
属性名称;
返回值类型 方法名称(){}
}
*/
//自定义类型(引用类型)
class Horse{
//在类中定义属性(特征)
String name;
int age;
public void run(){
System.out.println("我是马,名字叫:"+name+",我"+age+"岁了,我可以日行千里");
}
public void eat(){
System.out.println("我吃仙草,而且吃的多");
}
}
结果: