Java 面向对象 基础知识1

面向过程

面向过程和面向对象,都是一种设计思想

面向过程:侧重于实现的具体过程,主要设计到方法(函数)

面向对象:面向对象则是将问题转换成谁做什么事情(对象干什么)

怎么将大象放进冰箱?

面向过程:

  1. 开冰箱门
  2. 把大象塞进去
  3. 关冰箱门

面向对象:

存在哪些对象(事物):

冰箱、大象、人

冰箱{
冰箱门打开(){}
冰箱门关闭(){}
}

人{
打开冰箱门(){
冰箱.冰箱门打开()
}

塞大象(){}

关闭冰箱门(){
	冰箱.冰箱门关闭()
}

}

大象{
喊救命(){}
}

具体过程:

人.打开冰箱门()

人.塞大象()

人.关闭冰箱门()

java中面向对象体现

类(class) : 类是对一类事物的一个抽象定义

对象(Object) : 对象是一类事物的一个具体表现

手机:小米手机、华为手机、OPPO手机…

电脑:ThinkPad、联想、华硕、戴尔…

人:亚洲人、非洲人、美洲人…

1、类的定义

public class 类名{
	//  属性 (变量)
	//  行为   (方法)
	}

类中的属性和行为具体要看怎么设计,并不是必须要包含。

2、对象创建

语法:

	类名  变量名 =  new  类名();
	Person  p   = new Person() ;

3、属性和方法的使用

访问&修改属性

对象.xxx;
对象.xxx = yyy;

方法的调用

对象.方法();

4.内存分析

在这里插入图片描述

5.方法

方法的重载
方法的重载: 方法的参数列表不一样(类型或个数) ,方法名一样

public void sum (int x, int y) {
	System.out.println(x+y);
}

public void sum(float x, float y) {
System,ouu.println(x+y);
}

public void sum(double x,double y) {
  System.out.println(x+y);
}

传值&引用
传值:方法的参数为基本数据类型,方法中所进行的更改不会影响到原来的实参。

传引用:方法的参数为引用类型,若在方法中更改了引用对应的对象,那么在其他地方再去访问对象时,里面的数据将会有变化。

public calss Test {
int x;
	
	public static void main(String[] args) {		
		Test5 t = new Test5();
      
		int a = 10;
		t.f1(a);
		System.out.println("main:" + a);
		
       /**********************************华丽的分割线/
		t.x = 100;
		System.out.println(t.x);
		
		t.f2(t);
		System.out.println("main:" + t.x);
	}
	// 传引用
	public void f2(Test5 t) {
		t.x = 200;
		System.out.println("f2:" + t.x);
	}
	
    // 传值 
	public void f1(int a) {
		a++;
		System.out.println("f1:" + a);
	}

}

6.构造方法

// 构造方法语法:
public 类名([参数列表]) {   // 类名前是没有返回值的
}
  • 构造方法可以用来创建对象
  • 带参构造方法可以在创建对象时,通过传入参数将对象的属性进行初始化
  • 一个类中若没有现实的定义任何构造方法,那么系统将会自动添加一个无参构造方法; (默认添加)
  • 若手动定义了一个带参构造方法,但是没有定义无参构造方法,那么类的无参构造方法将会被带参构造方法所覆盖。

举个栗子:
Person 类:

public class Person {

	String name;
	int age;
	String sex;
	//无参构造方法
	public Person(){
		
	}
	
	//带参构造方法
	public Person(String pName,int pAge,String pSex){
		name = pName;
		age = pAge;
		sex = pSex;
	}
}

再创建一个测试类:

public class Test06 {

	public static void main(String[] args) {

		Person p = new Person("jack",20,"男");
		System.out.println(p.name);
		
		Person p2 = new Person();

	}

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值