JAVA SE 05:理解面向对象程序设计

1.面向对象程序设计:object  originted programming,简称OOP

2.类与对象的定义(class and object)

  • 类中包含了数据(名词)和对数据的操作(动词)。比如人就是一个类,人的身高,性别就是数据,人的吃喝拉撒就是操作了。
  • 对象是一种具体的概念:人是一个类,张三,李四,王五就是具体的对象。
  • 修饰符  class 类的名字
    {
        //类的内容
    }
    修饰符   返回类型  方法名称([参数1,参数2,参数3....])
    {
    	方法体
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  • 数据:数据在类中称作属性(Property或attribute)或者叫做成员变量(member)
  • 定义在类中的变量为成为变量(必须要声明,但可以不赋初值,但都有一初始值),定义在方法中的变量为局部变量(使用前必须声明并赋初值)
  • 成员变量的定义:
  • public class Person
    {
       修饰符  类型  属性名称
    }


  • 命名约定:1.类(首字母大写,如果由多个字母构成,那么每个单词的首字母都大写,中间不使用任何的连接符)   2.方法:首字母小写。如果一个方法由多个单词组成,那么首个单词全部小写,从第二个单词开始首字母大写。3.属性与方法相同
  • 对数据的操纵:在类中称为方法(Method)
  • 方法的使用:

public class test
{
	public static void main(String[] args)
	{
		test test1 = new test(); //类的实例化,test1是引用类型(如果一个引用类型对属性进行了修改,都会反映到其他的影像当中)
		int result;
		
		result = test1.add(1,2);  //参数类型与个数一致
		System.out.println(result);
		result = test1.sub(1,2);
		System.out.println(result);
		result = test1.muti(1,2);
		System.out.println(result);
		result = test1.div(1,2);
		System.out.println(result);
		
		
	}
	
	public int add(int a, int b)  
	{
		return a + b;  //返回值与方法类型一致
	}
		
	public int sub(int a, int b)
	{
		return a - b;
	}
		
	public int muti(int a, int b)
	{
		return a * b;
	}
		
	public int div(int a, int b)
	{
		return a / b;   //如果return后直接加分号表示直接跳出方法
	}
}
             

4.main方法是Java程序的入口点(必须有)

5.面向对象程序设计的三大特征:继承(Inheritance),多态(Polymorphism),封装(Encapsulation)。

6.封装:类包含了数据和方法,将数据和方法放在一个类中成为封装

7.方法的参数传递:无论传递的是原生数据类型还是引用类型,统一是传值(pass by value)。

public class ParamTest
{
	public static void main(String[] args)
	{
		Person person = new Person();
		
		person.change(person);
		
		int age = person.age;
		
		System.out.println(age);
		
		int i = 10;
		
		person.change2(i);
		
		System.out.println(i);
		
	}
}

 class Person
{
	int age = 20;
	
	public void change(Person person)
	{
		person = new Person();
		
		person.age = 30;
	}
	
	public  void change2(int age)
	{
		age = 40;
	}
}


8.构造方法(Constructor),用于完成对象属性的初始化工作。

  • 构造方法的名字必须与类名完全一致(包括大小写)
  • 没有返回值,连void都没有
  • 如果在定义一个类的时候,没有为类声明构造方法,那么java编译器会自己为类添加一个没有参数且方法为空的构造方法(默认的构造方法)。
  • 不能显示调用类的构造方法,通常通过new隐式调用
9.new关键字在生成对象时完成了三件事

  • 为对象开辟内存空间
  • 调用类的构造方法
  • 将生成的对象按地址返回
  • new生成对象时,括号里的是构造方法参数


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值