java整理学习笔记06

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44816758/article/details/102686363

面向对象:

一.面向过程和面向对象之间的区别:
都是一种思想,思维方式
面向过程: "我应该如何完成?"然后一步一步实现就可以了
面向对象: “我应该招谁来完成?” 关注的就是对象,而不关注实现过程
(面向对象依托于面向过程)
二.面向对象的优点:
1.可以将复杂的问题简单化
2.面向对象更贴合与管理者,面向过程更贴合与执行者
3.面向对象思维方式更符合现实生活人们的思维方式

三.提供了2个角色: 类 对象,实现程序开发
类: 类表示一些列对象的共性|特点|特征–>模板|图纸
对象: 表示现实生活中的具体事物
根据类创建对象

(类可以看成一类对象的模板,对象可以看成该类的一个具体实例。类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。)

四.如何自定义类:

//成员方法: 不被static关键字修饰的方法叫做成员方法
修饰符 返回值类型|void 方法名(参数列表){
功能体;
}

public class Circle {
//成员变量
	public double r;
	//修饰符  数据类型  方法名  形参
	public double getArea(double r) {
		double Area=3.14*r*r;
		return Area;
	}
	
	public double getPerimeter(double r) {
		double Perimeter=2*3.14*r;
		return Perimeter;
	}
}

1.圆能做什么? 能力|功能|作用: 求圆的周长和面积… 动词–>成员方法
2.圆的特征|特性? 半径… 名词–>成员变量
成员是属于对象

构造器

new 关键字创建对象
1.在堆中为对象开辟空间,成员属性跟随对象进入到堆内存中,并赋默认值
2.调用这个类的构造器为对象初始化信息 (第一次赋值就叫做初始化,就成员属性)
3.将地址返回给引用

构造器: 构造方法: 构造函数
就是一个特殊的方法
1.作用: 就是为对象初始化信息,不是用来创建对象的
2.使用: 跟随new使用
3.定义
修饰符 类名(参数列表){
构造器…
}
没有返回值类型,没有void,可以添加return
方法名必须与类名一致
不能和static,final,abstract一起使用

注意:
如果没有自定义的为类定义任何构造器,编译器会为你的类默认提供一个空构造(没有参数的构造器)
如果有显示定义任何构造器,编译器就不会再为你提供任意构造器了
构造器是一个方法,就可以重载

构造器可以帮助我们简化代码,在通过对象.属性之前,就可以为对象的属性赋值
构造器就是特殊的方法,也是方法,所以有方法的重载特性
如何创建对象的时候指定匹配不同的构造器???
new 类型()->()匹配不同的参数列表

public class User1 {
	public static void main(String[] args) {
		User u=new User();
		u.email="147.com";
		u.ID="1234";
		u.password="sss`111";
		User u1=new User("111","111","111");
		User u2=new User("111","111");
		System.out.println(u1.email+" "+u1.password+" "+u1.ID);
		System.out.println(u2.email+" "+u2.password+" "+u2.ID);
	}
}
//用户类	
class User{
	public String ID;//用户ID
	
	public String password;//用户密码
	
	public String email;//用户邮箱
	
	//没有返回值类型和void,但是可以return!!!!!!!	
	public User(String UserID,String Userpassword,String Useremail) {
		 ID=UserID;
		 password=Userpassword;
		 email=Useremail;
	}
	
	public User(String UserID,String Userpassword) {
		 ID=UserID;
		 password=Userpassword;
		 email="@gameschool.com";
	}
	public User() {
		
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44816758/article/details/102686363