JAVA面向对象编程(一)

一、面向对象编程思想

何为面向对象的编程思想:面向对象,将功能封装进对象,强调具备了功能的对象。

面向对象的三大特征
封装  (Encapsulation)
继承  (Inheritance)

多态  (Polymorphism)

面向对象的实例:人{
    打开(冰箱){
冰箱.开门();
    }
    操作(大象){
             大象.进入();
    }
    关闭(冰箱){   
          冰箱.关门();     
}
}
冰箱{
     开门(){}  关门(){}

}

二、类的概念与设计

(1)关联关系:


(2)继承关系:


(3)聚合关系:聚集关系:


组合关系:



(4)类与对象:

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

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

类是由属性和对象构成的 

属性:对应类中的成员变量     行为:对应类中的成员方法

三、创建一个java类并实例化对象

/*
 * 1.面向对象遍程关注于类的设计
 * 2.设计类实际上是设计类的成员
 * 3.基本的成员:属性(成员变量或Field) &方法(method)
 */
package come.Xijian.java;

public class ClassTest {

}
class Person//类是抽象的
{
	//1.属性
	String name;
	int age;
	boolean sex;
	
	//2.方法
	public void eat()
	{
		System.out.println("人吃饭");
	}
	public void sleep()
	{
		System.out.println("人睡觉");
	}
	public String getName()
	{
		return name;
	}
	public void setName(String n)
	{
		name = n;
	}
	public void info()
	{
		eat();
		sleep();
		System.out.println("name:"+name+"age:"+age+"thanks");
	}
}

四、类对象的内存解析

package come.Xijian.java;
/*
 * 一、面向对象思想的落地法则一:
 * 1.设计类,并设计类的成员(成员变量&成员方法)
 * 2.通过类,来创建类的对象(也称作类的实例化)
 * 3.通过"对象.属性"或"对象.方法"来调用,完成相应的功能
 * 
 * 二、创建的多个对象,彼此各拥有一套类的属性,当其中一个对象的属性进行修改时,不会影响到其他对象
 */
public class Zoo {
	public static void main(String[] args) {
		//基本数据类型的声明:数据类型 变量名 = 初始化值
		int i = 10;
		//类的实例化
		Animal a1 = new Animal();//类似于int[] arr = new int[10];
		//通过对象调用属性
		a1.name = "花花";
		a1.age = 3;
		System.out.println("name:"+a1.name+" age:"+a1.age);
		//通过对象调用方法
		a1.eat();
		a1.sleep();		
		
		//再创建一个类的对象
		Animal a2 = new Animal();
		System.out.println("name:"+a2.name+" age:"+a2.age);//null 0
		
		
		//a3并不意味着相较于a1重新创建的一个对象,而是a1与a3共用一个对象实体
		Animal a3 = a1;
		System.out.println("name:"+a3.name+" age:"+a3.age);//与a1一样
		a3.name = "维尼熊";
		System.out.println("name:"+a1.name+" age:"+a1.age);
		
	}
}
class Animal
{
	//1.属性
	String name;
	int age;
	
	//2.方法
	public void eat()
	{
		System.out.println("动物进食");
	}
	public void sleep()
	{
		System.out.println("动物休眠");
	}
	public String getName()
	{
		return name;
	}
	public void setName(String n)
	{
		name = n;
	}
}

五、类的属性的说明与局部变量

类的属性(成员变量)

成员变量VS局部变量

相同点:1.遵循变量声明的格式:数据类型 变量名 = 初始化值;

            2.都有作用域

不同点:1.声明的位置有所不同:成员变量:声明在类里,方法外

                                                局部变量:声明在方法内,方法的形参部分,代码块内

            2.成员变量的修饰符有四个:public private protected 缺省

              局部变量没有修饰符,与所在的方法的局部变量相同

            3.一定会有初始化值

            成员变量:如果在声明的时候,不显示的赋值,那么不同的数据类型会有不同的默认初始化值

              byte short int long ==》0

              float double ==》0.0

              char ==》空格

              boolean==》false

              引用类型变量==》null

           局部变量:一定要显示的赋值。(局部变量没有默认的初始化值)

         4.二者在内存中存放的位置不同:成员变量存放在堆空间中,局部变量存放在栈空间中。

总结:关于变量的分类:1)按照数据类型的不同,分为基本数据类型(8种)&引用数据类型

                                   2)按照声明位置的不同,成员变量&局部变量。

六、java类的方法

        1)类的方法:提供某种功能的实现。

                 格式:权限修饰符 返回值类型(void:无返回值/具体的返回值) 方法名 (形参表列){};

        2)关于返回值类型:void:表明此方法不需要返回值

                                        有返回值的方法在方法结束一定有return + 返回值

        3)方法内可以调用本类的其他方法或属性,但不可以在方法内定义方法。

七、方法的重载

        

/*
 * 方法的重载(Overload)
 * 要求:1.在同一个类中2.方法名必须相同3.形参表列不同(①参数的个数不同②参数的数据类型不同)
 * 补充:方法的重载与方法的返回值类型没有关系
 */
package come.Xijian.java;

public class TestOverload {

}
class OverLoad
{
	//定义两个int型变量的和
	public int getSum(int i,int j )
	{
		return i+j;
	}
	//定义三个int型变量的和
	public int getSum(int i,int j,int k)
	{
		return i+j+k;
	}
	//不能与其他几个方法构成重载
//	public int getSum1(int i,int j,int k)
//	{
//		return i+j+k;
//	}
//	public void getSum(int i,int j,int k)
//	{
//		System.out.println(i+j+k);
//	}
	//定义两个double类型的数据的和
	public double getSum(double d1,double d2)
	{
		return d1+d2;
	}
	
	//定义三个double数据的和
	public void getSum(double d1,double d2,double d3)
	{
		return d1+d2+d3;
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java面向对象编程电子书是一本详细介绍Java面向对象编程概念、原理和实践的电子书籍。本书从基础概念开始,逐步深入到高级主题,使读者能够全面理解Java面向对象编程的核心思想和技术。 首先,本书会介绍面向对象编程的基本理念和原则,例如封装、继承和多态等。读者将能够了解到如何使用Java语言中的类、对象和方法来实现这些概念,并学会如何通过类和对象之间的关系来进行数据和行为的组织。 接着,本书将详细介绍Java中的类和对象的创建、属性和方法的定义以及对象之间的交互。读者将学会如何使用构造函数来创建对象实例,并掌握如何在类中定义属性和方法,并使用它们来访问和修改对象的状态。 另外,本书还会涵盖继承和多态的概念和实践。读者将了解到如何通过继承来创建子类,并使用多态来实现不同对象之间的统一接口。这些技术将大大提高代码的可复用性和可扩展性。 此外,本书还会介绍Java面向对象编程中的其他重要概念,如抽象类、接口、封装和设计模式等。这些概念和技术将使读者更加熟悉Java面向对象编程的整体框架,并能够应用到实际的开发中。 总而言之,Java面向对象编程电子书是一本很好的学习资料,它详细介绍了Java面向对象编程的基本概念、原则和实践。读者通过学习本书,将能够深入理解并掌握Java面向对象编程的核心思想和技术,从而提高自己的编程能力和应用水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值