Java基础之 面向对象总结

一、面向对象思想

思想概述:是基于面向过程的一种编程思想

特点:从执行者变成指挥者

实现事物:属性和行为

实现事物如何转化为Java代码:
	事物:类;事物属性:成员变量;事物行为:成员方法

二、定义类以及创建对象

class 类名{
	成员变量;
	成员方法;
}

类名 对象名= new 类名();

对象名.成员变量;
对象名.成员方法;

知识点:成员变量和局部变量区别:位置不同,内存不同,初始化值不同,生命周期
匿名对象:没有名字的对象,只能使用一次

三、封装

将实现的细节进行隐藏,提供公开的访问方式
	案例:成员变量私有化,提供公开的get、set方法
	
private:私有化,只能本类中进行使用

this:指定对象本身;谁的调用this方法,谁就是这个this

构造方法:给对象的成员变量进行数据的初始化
	      格式:方法名与类名一致
		    没有返回值类型,void都没有
		    没有返回值

标准类案例:
class Person{
private String name;

	public void setName(String name){		
		this.name = name;
	}
	public String getName(){
		return name;
	}

	public Person(){}
	public Person(String name){
		this.name = name;
	}

	public void show(){
		System.out.println(name);
	}
}

知识点:static:静态的,共享的
可以使用类名进行调用
跟随类加载而加载,优先于对象存在,被类的所有对象所共享使用

代码块:{}  根据位置不同:局部代码块,构造代码块,静态代码块,同步代码块

四、继承

格式:
class 子类名 extends 父类名{

}

特点:只支持单继承, 不支持多继承,可以多层继承

注意事项:父类私有不能被继承
	  构造方法不能被继承,可以通过super关键字进行访问
			
成员关系:就近原则

方法重写:父子类之间,子类方法覆盖父类同名方法。

知识点:super:代表父类的对象
final:最终的;修饰类,类不能被继承;修饰方法,方法不能被重写,修饰变量,变为常量。

五、多态

同一种事物,在不同环境下,体现出的不同状态

格式:

	父类 对象名 = new 子类();

转型:
	向上转型:默认转型
		父类 对象名 = new 子类();
	
	向下转型:强制转换
		子类 对象名 = (子类) 父类的对象名;
	
运行规则:
	编译:看父类
	运行:变量看父类,方法看子类

六、抽象类和接口

抽象类:
	概述
		不想让类创建实体对象时,可以将类进行抽象即可。
	特点:
		1)抽象类和抽象方法,必须使用abstract关键字进行修饰。
			格式:抽象类:abstract class 类名{}
					抽象方法:public abstract void 方法名();
		2)抽象类中不一定有抽象方法。有抽象方法的类一定是一个抽象类
		3)抽象类不能实例化对象(不能创建对象)
		4)抽象类的子类: 
						抽象类;
						实现了所有抽象方法的实体类
	
	成员组成:
		成员变量,静态常量,构造方法,成员方法,抽象方法
	
	注意事项:
		abstract:不能和final private  static 同时使用
	
接口:
	概述:
		定义一个额外的功能,为事物扩展功能使用
		
	特点:
		1)定义接口使用interface
			格式:interface 接口名{}
		2)实现接口使用implements
			格式:class 子类名 implements 接口名{}
		3)接口不能实例化
		4)接口的子类:抽象类
						实现了所有抽象方法的实体类
			
	成员组成:
		静态常量,抽象方法
		
	注意事项:
		子类同时要继承和实现接口
			先继承后实现
				class 子类 extends 父类 implements 接口{}
		接口可以多实现
				class 子类 implements 接口1,接口2{}

七、内部类
其他类中嵌套一个类,这个类被称为内部类。

分类:根据位置不同:
	局部内部类    成员内部类    静态内部类


格式:
	class  A{

		class 	B{


		}
	}

访问方式:
	外界---访问----外部类:直接创建对象
	外界---访问----内部类:格式访问:外部类名.内部类名  对象名  =  外部对象.内部对象
	外部---访问----内部类:创建内部类对象直接访问
	内部---访问----外部类:直接使用


匿名内部类:本质是一个实现接口或者抽象类的实例对象
	new  接口名或者类名(){
		接口或类的方法重写;
	}

知识点:
参数传递:参数如果为基本数据类型:传值,形参改变不影响实参结果,
参数如果为引用数据类型:传地址,形参改变影响实参结果。

权限修饰符:从大到小
	    public   protected   默认    private 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值