面向对象的编程入门

目录

面向对象的编程:

​编辑 对象的定义:

类(Class)的定义:

类的构造方法:

this关键字:

类的成员:

Java中的访问权限修饰符:

局部变量与成员变量的区别

面向对象的编程:

面向过程:提出问题----分解问题----一一解决问题;一个一个小的函数的调用(小的行为和动作,注重过程)

面向对象:(分门别类的思想)

 对象的定义:

为类的实例化,具体的案例(代码中先有类再根据类创建对象)可以通过类的构造方法来创建对象(使用new关键字创建对象)

类型 对象名称 = new 构造函数();

一切客观存在的食物都是对象,即:“万物皆对象” 任何对象一定具有自己的特征和行为(即:属性和方法) 特征: 称为属性,代表对象有什么 行为: 称为方法,代表对象能做什么

 操作【属性 方法】:对象.属性【方法】;

类(Class)的定义:

是面向对象程序设计实现信息封装的基础

类名:大驼峰命名规则

 Java中如果定义类的时候,没有给属性赋值,则会有默认的值;

基本数据类型的默认值:

  • 整型0;

  • 浮点型0.0;

  • char:‘ ’;

  • boolean:false;

  • String:null;

重写tostring方法:该方法在打印对象的时候,会自动打印内容;例如以下代码:

@Override
	public String toString() {
		return "Cat [nameString=" + nameString + ", sexString=" + sexString + ", age=" + age + ", colerString="
				+ colerString + ", person=" + person + "]";
	}

类的构造方法:

访问修饰符 (不需要返回值类型) 函数名与类名称保持一致

Java类中如果没有自己定义构造函数,系统会自动生成无参的构造函数,方便用户使用。当我们定义构造函数后,系统将不再自动生成无参构造,若要使用则必须自己写无参构造方法;

构造函数的作用:初始化属性!!

public Cat() {
		super();
	}

	public Cat(String nameString, String sexString, int age, String colerString, Person person) {
		super();
		this.nameString = nameString;
		this.sexString = sexString;
		this.age = age;
		this.colerString = colerString;
		this.person = person;
	}

this关键字:

在Java中,存在this关键字,一旦对象被创建,默认指向当前对象;this指的是当前对象!!!

1、this是一个关键字,意为这个。

2、this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存中Java对象的内部。

3、创建100Java对象,每一个对象都有this,也就是说有100个不同的this。

4、this可以出现在“实例方法”当中,(this指向)代表当前正在执行这个动作的对象。(this代表当前的对象“张三”)。

类的成员:

  • 属性

  • 方法

  • 构造方法

  • 静态属性

  • 静态方法

  • 构造代码块

  • 静态代码块

static 关键字:可以修饰属性,方法,类(内部类),代码块,静态导包。

static修饰的代码会提前加载到内存中,只有一份,属于类!静态方法中无法之间调用非静态函数或者属性。被static修饰的属性和方法不属于对象,属于该类,直接使用类名称.属性/类名称.方法;(广泛的被使用在工具类中)

static { // 构造代码块 } // 静态代码块

提前加载到内存,并且只加载一次!!!

类的成员加载顺序:属性最先运行,之后为构造函数!static修饰的属性和静态代码块最先运行(这两者看代码运行顺序),之后才开始运行对象属性和构造代码块(这两者看代码运行顺序)

Java中的访问权限修饰符:

  1. public 任何地方都可以正常访问(该修饰符修饰的属性,方法)

  2. protected 同包,同类和子类可访问

  3. 缺省(默认) 同包,同类可访问

  4. private 只能是当前类

 类(class)只可以使用:public 和默认修饰!!!

局部变量与成员变量的区别

定义的位置不同

成员变量定义在类中

局部变量定义在方法中或者语句里面

在内存中的位置不同

成员变量存储在堆内存的对象中

局部变量存储在栈内存的方法中

声明周期不同

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

初始化不同

成员变量因为在堆内存中,所有默认的初始化值

局部变量没有默认的初始化值,必须手动的给其赋值才可以使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值