java中的面向对象(基础)

java面向对象基础

类和对象

类:
· 类是对现实生活中一类具有共同属性和行为的抽象
· 类是对象的属性,是具有相同属性和行为的一组对象的集合
· 类是现实事物的一种描述
· 类由属性和行为组成

对象:
· 具有属性和行为的真实存在的事物。

总结: 类是对事物的描述, 对象是具体的事物。

类的定义格式

在java中的类也具有属性和行为。
属性: 成员变量, 类中的方法外定义的变量
方法: 成员方法,类里面的方法, 不带static 关键字

/*
	定义一个学生类, 属性有姓名和年龄。 行为: 学习
*/
public class Student {
// 成员变量, 也就是类的属性
	int age;
	String name;
// 成员方法, 也就是类的行为
	public void study() {
		System.out.println("学习");
	}
}

对象

对象根据类来创建,是具体的对象, 格式为 类名 变量名 = new 类名

/*
	使用Student类创建一个学生对象,姓名为 hjw 年龄18
*/
public class StudentTest() {
	public static void main(String[] args) {
		Student s1 = new Student();
		// 为s1对象增加姓名和年龄, 使用学习方法
		s1.name = "hjw";
		s1.age = 18;
		s1.study(); // "学习"
	}
}

private关键字和this

private是一个修饰符。 类中的成员变量使用了private修饰,实例对象就不能直接点语法访问这个成员变量。
若要访问private修饰的变量,需要定义对应的get set方法。
this关键字, 代表对象的实例, 哪个对象调用方法, this就指向哪个对象。

// 定义一个教师类
class Techer() {
	private int age;
	private String name;
	public int getAge() {
		return this.age;
	}
	public void setAge(int age) {
		this.age = age
	}
	public String getName() {
		return this.name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

// 使用教师类
public class TecherDemo() {
	public static void main(String[] args) {
		Techer t1 = new Techer();
		//t1.name = "李老师"; //报错 private修饰无法访问
		t1.setName("李老师");
		ti.setAge(20);
		System.out.println(t1.getName());
		System.out.println(t2.getAge());
	}
}

构造方法

对象在创建时默认调用的方法, 也就是 new 对象 的时候调用的方法。系统默认实现了一个构造方法,什么事情也没有做。
我们也可以自己创建构造方法 ,方法名与类名相同就是构造方法。使用构造方法接收参数可以在 new 的时候为成员变量赋值。
如果自定义了带参数的构造方法, 也要写一个重构的无参构造方法, 推荐用法, 不管是否使用构造方法, 定义类时都自己实现。
构造方法不需要待static 和 返回类型

// 定义一个人的类。 使用private关键字 与构造方法。
class Person {
	private String name;
	private int age;
	// 无参构造方法 
	public Person() {}
	// 带参构造方法  
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return this.name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return this.age;
	} 
	public void setAge(int age) {
		this.age = age;
	}
}

public class PersonDemo() {
	public static void main(String[] args) {
		Person p1 = new Person();
		p1.setName = "hjw";
		p1.setAge = "88";
		Person p2 = new Person("小明", 18);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值