Java面向对象基本概念

一、面向对象概念:

众所周知Java是完全面向对象的高级语言,个人观点在Java中一切皆对象,万物皆类型。

1、对象:

就是现实中的客观存在事物都是对象,也就是常说的万物皆对象。

2、面向对象:

就是用代码去高度模拟现实中的某种事物,这个过程就是面向对象。

二、类和对象:

1、类:

类是对现实生活中一类具有相同属性和行为的事物的抽象,类是对象的数据类型。
简单来说:类就是对现实事物的一种描述。

2、类的主要成分:

(1)成员属性:用来描述事物的特征,比如手机的颜色,尺寸,价格,品牌等。
(2)成员方法:指事物所拥有的行为,比如手机可以打电话,发短信等。
(3)构造器:类中特殊的方法,主要作用是用来创建对象。
			|— 格式:
					权限修饰符 类名(有参/无参){}
			|— 无参构造器:
					用来创建对象,但不给成员属性赋值。
			|— 有参构造器:
					用来创建对象的同时,给成员属性赋值。
			|— 注意事项:
					如果没有手写任何构造器,JVM会自动提供无参构造。
					如果写了有参构造器,JVM就不会提供无参构造器。
					建议:自己定义有参和无参构造器。
(4)代码块:定义在大括号 “{}”中的代码,就是代码块。
			|— 静态代码块:
					a、格式:
							static{
								静态资源初始化代码
							}
					b、作用:初始化静态资源。
			|— 实例代码块:
					a、格式:
							{
								实例资源初始化代码
							}
					b、作用:初始化实例资源。
			|— 静态:
					使用static关键字修饰的成员属性/方法/代码块,称为静态成员属性,静态成员方法,静态代码块。
			|— 实例:
					没有使用static关键字修饰的成员属性/方法/代码快,称为实例成员变量,实例成员方法,实例代码块。
			|— 区别:
					static修饰的成员属性/方法/代码块,属于类,随着类的加载而加载
					没有使用static修饰的成员属性/方法/代码块,属于对象,随着对象的加载而加载
			|— 访问规则:
					静态无法资源无法访问实例资源,而实例资源可以访问静态资源。
					因为类比对象先加载,对象又是类的实例。
					
(5)内部类:在类里面还定义一个类,类里面的那个类就是内部类

3、简单类的定义

类的命名:

规则:不能是关键字,不能以数字开头,在一个Java文件中,只能有一个 public 修饰的类,在同一包下不能出现同名的类名。
规范:每个单词的首字母大写,其他字母小写。
权限修饰符 class 类名{
	//成员属性
	权限修饰符 变量1的数据类型 变量1;
	权限修饰符 变量2的数据类型 变量2;
	... ...
	权限修饰符 变量n的数据类型 变量n;
	//成员方法
	方法1;
	方法2;
	... ...
	方法n;
}
例如:创建一个手机类
类名:
	手机(Phone) 
成员变量: 
	品牌(brand)
	价格(price) 
	颜色(color)
成员方法: 
	打电话(call) 
    发短信(sendMessage) 

public class Phone{
	//成员属性
	private String brand;
	//成员属性
	private double price;	
	//成员属性
	private String color;	

	//成员方法
	public void call(){	
	}
	//成员方法
	public void sendMessage(){	
	}
}

4、面向对象的三大特征

封装

继承

多态

5、对象

类是对现实生活中的事物的一种抽象,而对象就是具体存在的事物,也就是说对象是类的具体实例。
可以把类比作一个手机图纸,对象就是一部具体的手机。

6、对象的定义

类名 对象名 = new 类名(); //使用类的无参构造器创建这个类的对象
类名 对象名 = new 类名(参数1,2); //使用类的有参构造器创建这个类的对象

7、成员属性和行为的使用

实例成员属性/方法

先创建类的对象,然后使用对象名.成员属性名/成员方法名,但是要注意下权限修饰符。

静态成员属性/方法

直接使用类名.方法/成员属性名,一般使用静态资源会使用public 修饰(公开的,任何地方都可以访问)。

你可能感兴趣的:(Java学习之路笔记)