面向对象

Java 面向对象学习的三条主线

  1. Java类及类的成员:属性、方法、构造器、代码块、内部类
  2. 面向对象的三大特征:封装性、继承性、多态性(抽象性)
  3. 其他关键字:this、super、static、final、abstiact、interface、package、import

1. 面向过程(POP)与面向对象(OOP)

  • 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做
  • 面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做

面向对象:

  • 程序员从面向过程的执行者转化成立面向对象的指挥者

  • 面向对象分析方法分析问题的思路和步骤:

    1. 根据问题需要,选择问题所针对的现实世界中的实体。
    2. 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
    3. 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的效据结构。
    4. 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。

2. 类和对象

面向对象思想概述:

(Class)和对象(Object)是面向对象的核心概念。

类是对一类事物的描述,是抽象的、概念上的定义

对象是实际存在的该类事物的每个个体,因而也称为实例( instance)

可以理解为:类 = 抽象概念的人;对象 = 实实在在的某个人

面向对象程序设计的重点是类的设计

类的设计其实就是类的成员的设计

2.1 Java 类及类的成员

Java 中用类 class 来描述事物的构成,常见的类的成员有:

属性:对应类中的成员变量

行为:对应类中的成员方法

Field = 属性 = 成员变量,Method = 行为 = (成员)方法 = 函数

class Person {
	//属性,或成员变量
	String name;
	boolean isMarried;
	//构造器
	public Person(){}
    public Person(String n,boolean im){
	name = n;isMarried = im;
    }    
	//方法,或函数
	public void walk(){
		System.out.println("人走路...");
    }    
	public string display(){
		return"名字是:"+name+"Married:"+isMarried;
    }        
	//代码块
    {
		same = "HanMeiMei";
		age = 17;
		isMarried = true;
    }   
	//内部类
	class pet {
		String name;
		float weight;
    }
}    
2.2 类和对象的使用
  1. 创建类、设计类的成员
  2. 创建类的对象
  3. 通过对象.属性对象.方法调用对象的结构
package ooptest;

public class PersonTest {
	public static void main(String[] args) {
		//创建Person类的对象
		Person p1 = new Person();
		
		//调用对象的结构:属性、方法
		//调用方法:对象.属性
		p1.name = "Tom";
		p1.isMale = true;
		System.out.println(p1.name);
		
		//调用方法:对象.方法
		p1.eat();
		p1.sleep();
		p1.talk("Chinese");
	}
}
class Person{
	//属性
	String name;
	int age = 1;
	boolean isMale;

	//方法
	public void eat(){
		System.out.println("人可以吃饭");
	}
	public void sleep(){
		System.out.println("人可以睡觉");
	}
	public void talk(String language){
		System.out.println("人可以说话,使用的是:"+language);
	}
}
2.3 对象的内存解析
  • 堆(Heap):存放对象实例
  • 栈(Stack):存储局部变量
  • 方法区(Method Area):类信息、常量、静态变量、即使编译后的代码
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值