java面向对象的一些知识和概念

1.
所有的java程序都以类出class为组织单元
类是模子,类中定义确定对象的属性(特征)和方法(行为)
类由属性和方法组成
定义类的示例
pubilc class 类名{
//定义属性(成员变量)
属性类型 属性1
...
属性类型 属性n
//定义类的方法(说明类是用来干什么的)
方法1
...
方法n
}
2.
创建对象的方法
类名 对象名=new 类名();(new 类名()相当与对类进行实例化)
对象名.属性可以对类的属性赋值或者其他操作
对象名.方法()可以对类中的方法进行调用
3.
成员变量与局部变量
成员变量定义在类中,可以被整个类中使用包括类中的方法或与其相关的类中使用(系统自动赋予初始值)
局部变量定义在类的方法中作用域仅仅是方法的开始到结束(系统没有赋予初始值)


封装,多态,继承
1.
封装
类的封装是对类的属性进行设定访问范围(用的修饰词有private,默认,protect,public),
private修饰的属性可以用类的设定的访问方法来访问
private:只允许在该类中访问
默认:允许在类中和同包中访问
protected:允许在类中和同包和在子包中访问
public:允许在全范围访问


类中this的使用
this.属性  指的是当前对象的属性
this,方法  指的是当前对象的方法

内部类:
包含在类里面的类叫做内部类,内部类的属性和方法不允许外部类访问而内部类可以访问外部类的所有属性和方法包括private
内部类可分为以下几种:
成员内部类
静态内部类
方法内部类
匿名内部类
使用实例
//外部类HelloWorld
public class HelloWorld {
    
    // 内部类Inner,类Inner在类HelloWorld的内部
    public class Inner {
        
		// 内部类的方法
		public void show() {
			System.out.println("welcome to imooc!");
		}
	}
    
	public static void main(String[] args) {
        
        // 创建外部类对象
		HelloWorld hello = new HelloWorld();
        // 创建内部类对象
		Inner i = hello.new Inner();
        // 调用内部类对象的方法
		i.show();
	}
}


2.
类的继承
子类继父类的所用方法和属性,子类可以重写父类的方法(注意返回值和函数名要一致(不然就不叫做重写了))。
父类和子类的初始化顺序如下
父类->属性初始化->构造方法初始化->子类->...(同前)
继承的具体方法如下
public class 子类类名 extends 父类类名{
...
}


final关键字的使用
使用final关键字做标识有“最终的”含义
final可以修饰类,方法,属性和变量
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被重写
final修饰属性,则该属性只能被赋值一次,且一定要在类中赋值,要么在定义属性时赋值,要么在定义方法时赋值(不赋值系统会报错)
final修饰变量,变量只可以被赋值一次,变量相当于常量


super关键字的使用
通常用在子类当中
访问父类的属性:super.属性=...
访问父类的方法:super.方法;


Object类
如果一个类没有显式写出继承的父类,怎默认继承父类Object.
Object中一些重要的方法有toString(),equals(对象)
toString()默认是输出该类的包名加地址,重写后可以输出该类的类名和属性值
equals()方法默认是比较两个对象的地址是否相同,重写后可以比较两对象属性值是否一样


3.
类的多态
引用的多态:
父类的引用可以指向本类的对象
父类的引用可以指向子类的对象
方法的多态:
创建本类对象时,调用的方法为本类的方法
创建子类对象时,调用的方法为子类重写的方法或者子类继承父类的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值