栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA入门三--面向对象(上)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA入门三--面向对象(上)

JAVA入门三

面向对象的思想类与对象构造方法this关键字代码块static关键字

面向对象的思想

面向过程:
分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候依次调用就可以了。
面向对象:
把构成问题的事务按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。
主要特点:封装性、继承性、多态性。

    封装性
    核心思想,两层含义:
    一、把对象的属性和行为看成一个密不可分的整体;
    二、“隐藏信息”,将不想让外界知道的信息隐藏起来。继承性
    类与类之间的关系。
    继承不仅增强了代码的复用性、提高了开发效率,还降低了程序产生错误的可能性,为程序的维护以及扩展提供了便利。多态性
    同一个属性和方法在不同的类中具有不同的语义。
    多态的特性使程序更抽象、便捷,有助于开发人员设计程序时分组协同开发。
类与对象

类和对象是Java中最基本、最重要的单元。
类表示某类群体的一些基本特征抽象;
对象表示一个个具体的事物。

    类的定义
    类是对象的抽象,用于描述一组对象的共同特征和行为。
    所有的Java程序都是基于类的。
    类中可以定义成员变量和成员方法。
    成员变量也称为是对象的属性;
    成员方法用于描述对象的行为,简称方法。
 

例如:

class Student{//定义一个类,Student是类名
	String name;//定义String类型的变量name(姓名)
	int age;//定义int类型的变量age(年龄)
	String Sex;//定义String类型的变量Sex(性别)
	void read() {//定义read()方法,直接访问对象属性
		System.out.println("大家好,我是"+name+",我在看书!");
	}
}

在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。

    对象的创建与使用
 
 
this关键字 
Java中的this关键字语法比较灵活,其主要作用主要有以下3种。
	(1)使用this关键字调用本类中的属性。
	(2)this关键字调用成员方法。
	(3)使用this关键字调用本类的构造方法。
在类的构造方法中,如果参数名称与类属性名称相同,则会导致成员变量和局部变量的名称冲突。
class Student {
	private String name;
	private int age;
	// 定义构造方法
	public Student(String name,int age) {
		this.name = name;
		this.age = age;
	}
	public String read(){
		return "我是:"+name+",年龄:"+age;
	}
}
public class Example10 {
	public static void main(String[] args) {
		Student stu = new Student("张三", 18);
		System.out.println(stu.read());
	}
}

通过this关键字调用成员方法的具体代码示例:

class Student {
	public void openMouth() {
		...
	}
	public void read() {
		this.openMouth();
	}
}

构造方法是在实例化对象时被Java虚拟机自动调用,在程序中不能像调用其他成员方法一样调用构造方法,但可以在一个构造方法中使用“this(参数1,参数2…)”的形式调用其他的构造方法。
在使用this调用类的构造方法时,应注意以下几点:
	(1)只能在构造方法中使用this调用其他的构造方法,不能在成员方法中通过this调用其他构造方法。
	(2)在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次。
	(3)不能在一个类的两个构造方法中使用this互相调用。
代码块
	代码块,简单来讲,就是用“{}”括号括起来的一段代码,根据位置及声明关键字的不同,代码块可以分为4种:普通代码块、构造块、静态代码块、同步代码块。
	普通代码块就是直接在方法或是语句中定义的代码块。
	构造代码块是直接在类中定义的代码块。
static关键字
	如果希望某些属性被所有对象共享,就必须将其声明为static属性。
	如果属性使用了static关键字进行修饰,则该属性可以直接使用类名称进行调用。
	除了修饰属性,static关键字还可以修饰成员方法。
	如果在Java程序中使用static修饰属性,则该属性称为静态属性(也称全局属性),静态属性可以使用类名直接访问,访问方式如下:
	类名.属性名
	通过类名就可以直接调用某个方法,只需要在成员方法前加上static关键字,使用static关键字修饰的方法通常称为静态方法。
	同静态变量一样,静态方法也可以通过类名和对象访问,具体如下所示。
	类名.方法
	或
	实例对象名.方法
	静态方法只能访问静态成员,因为非静态成员需要先创建对象才能访问,即随着对象的创建,非静态成员才会分配内存。而静态方法在被调用时可以不创建任何对象。
	在Java类中,用static关键字修饰的代码块称为静态代码块。
	通常使用静态代码块对类的成员变量进行初始化。
class Student {
	String name;                          	// 定义name属性
	int age;                               	// 定义age属性
	static String school = "A大学";    	// 定义school属性
	public Student(String name,int age){
		this.name = name;
		this.age = age;
	}
	public void info(){
		System.out.println("姓名:" +this. name+",年龄:" +this.age+",学校:" + school);  
	}
}
public class Example14 {
	public static void main(String[] args) {
		Student stu1 = new Student("张三",18);        // 创建学生对象
		Student stu2 = new Student("李四",19);
		Student stu3 = new Student("王五",20);
		stu1.school = "B大学";
		stu1.info();
		stu2.info();
		stu3.info();
	}
}

school属性修改前的内存
school属性修改后的内存

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号