[学习笔记] 面向对象_面向对象基本概念

一、面向对象基本概念

什么是
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("我吃仙草,而且吃的多");
	}
}

结果:
空指针异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值