JAVA大坑:面向对象和构造器,必须注意的N个常识

*面向对象:**		
	一.面向过程和面向对象之间的区别:
		都是一种思想,思维方式
		面向过程: "我应该如何完成?"然后一步一步实现就可以了
		面向对象: "我应该招谁来完成?" 关注的就是对象,而不关注实现过程
		面向对象依托于面向过程
	二.面向对象的优点:
		1.可以将复杂的问题简单化
		2.面向对象更贴合与管理者,面向过程更贴合与执行者
		3.面向对象思维方式更符合现实生活人们的思维方式
		
	三.提供了2个角色: 类   对象,实现程序开发
		类: 类表示一些列对象的共性|特点|特征-->模板|图纸
		对象: 表示现实生活中的具体事物
		根据类创建对象
		通过类和对象将程序与生活建立联系
		
	四.如何自定义类:
		修饰符 类名{
			//成员变量
			修饰符 数据类型 变量名 = 赋值;
			
			//成员方法: 不被static关键字修饰的方法叫做成员方法
			修饰符 返回值类型|void 方法名(参数列表){
				功能体;
			}
			
		}
		
		1.手机能做什么? 能力|功能|作用:  打电话,上网,打游戏,拍照...  动词-->成员方法
		2.手机的特征|特性? 颜色,品牌,价钱,尺寸...					 名词-->成员变量
			成员是属于对象
在这里插入代码片

public class Phone01 {
//属性:成员变量
public String color;
//品牌
public String brand;
//价钱
public double price;

测试类:*
1.导包:
同包下的类不需要导包
在java.lang包下的直接子内容不需要导包

	2.创建这个类型的引用|变量:-->创建对象
		引用数据类型 引用 = new 引用数据类型();  
			new关键字就是创建对象
	3.根据对象名字|引用名使用某个对象的功能
		引用.功能名字();
		引用.属性名字

*/在这里插入代码片
public class PhoneTest02 {
public static void main(String[] args){
//1.创建对象
Phone01 phone=new Phone01(); //创建了一个手机对象,表示生活中的某个具体的手机事物
//2.使用属性
phone.color= “黑色”;
phone.brand= “苹果7plus”;
phone.price= 8000;

	System.out.println(phone.color);
	
	//3.使用功能:
	phone.call();
	
}

}

构造器

  • new 关键字创建对象
    • 1.在堆中为对象开辟空间,成员属性跟随对象进入到堆内存中,并赋默认值
    • 2.调用这个类的构造器为对象初始化信息 (第一次赋值就叫做初始化,就成员属性)
    • 3.将地址返回给引用
  • 构造器: 构造方法: 构造函数
  •  就是一个特殊的方法
    
  •  1.作用: 就是为对象初始化信息,不是用来创建对象的
    
  •  2.使用: 跟随new使用
    
  •  3.定义
    
  •  	修饰符 类名(参数列表){
    
  •  		构造器....
    
  •  	}
    
  •  	没有返回值类型,没有void,可以添加return
    
  •  	方法名必须与类名一致
    
  •  	不能和static,final,abstract一起使用
    
  •  注意:
    
  •  	如果没有自定义的为类定义任何构造器,编译器会为你的类默认提供一个空构造(没有参数的构造器)
    
  •  	如果有显示定义任何构造器,编译器就不会再为你提供任意构造器了
    
  •  	构造器是一个方法,就可以重载
    
  •  构造器可以帮助我们简化代码,在通过对象.属性之前,就可以为对象的属性赋值
    
  •  构造器就是特殊的方法,特殊的创建方式,特殊的使用方式,特殊的作用,但是也是方法,所以有方法的重载特性
    
  •  如何创建对象的时候指定匹配不同的构造器啊???
    
  •  	new 类型()->()匹配不同的参数列表
    

构造器
* new 关键字创建对象
* 1.在堆中为对象开辟空间,成员属性跟随对象进入到堆内存中,并赋默认值
* 2.调用这个类的构造器为对象初始化信息 (第一次赋值就叫做初始化,就成员属性)
* 3.将地址返回给引用
*
*
* 构造器: 构造方法: 构造函数
* 就是一个特殊的方法
* 1.作用: 就是为对象初始化信息,不是用来创建对象的
* 2.使用: 跟随new使用
* 3.定义
* 修饰符 类名(参数列表){
* 构造器…
* }
* 没有返回值类型,没有void,可以添加return
* 方法名必须与类名一致
* 不能和static,final,abstract一起使用
*
* 注意:
* 如果没有自定义的为类定义任何构造器,编译器会为你的类默认提供一个空构造(没有参数的构造器)
* 如果有显示定义任何构造器,编译器就不会再为你提供任意构造器了
* 构造器是一个方法,就可以重载
*
* 构造器可以帮助我们简化代码,在通过对象.属性之前,就可以为对象的属性赋值
* 构造器就是特殊的方法,特殊的创建方式,特殊的使用方式,特殊的作用,但是也是方法,所以有方法的重载特性
* 如何创建对象的时候指定匹配不同的构造器啊???
* new 类型()->()匹配不同的参数列表
*/
public class ConstructorDemo01 {
public static void main(String[] args) {
//先创建对象
Dog dog=new Dog(); //()->构造器的参数列表
//手动赋值
dog.color=“黄色”;
dog.type=“中华田园犬”;

		//创建对象并且赋值
		Dog dog2=new Dog("花色","加肥猫");
		dog.dog();
		dog2.dog();
		
		Dog dog3=new Dog("黄色");
		dog3.dog();
		
	}

	//构造器
	public ConstructorDemo01(){}
}

public static void main(String[] args) {
	//先创建对象
	Dog dog=new Dog();  //()->构造器的参数列表
	//手动赋值
	dog.color="黄色";
	dog.type="中华田园犬";
	
	//创建对象并且赋值
	Dog dog2=new Dog("花色","加肥猫");
	dog.dog();
	dog2.dog();
	
	Dog dog3=new Dog("黄色");
	dog3.dog();
	
}

//构造器
public ConstructorDemo01(){}

}

//Dog 类
class Dog{
public String color;
public String type;

//构造器  空构造
public Dog(){
	System.out.println("我是空构造");
}

public Dog(String dogColor){
	System.out.println("我是参数1");
	color=dogColor;
}

//带参构造  2个参数
public Dog(String dogColor,String dogType){
	color=dogColor;
	type=dogType;
	System.out.println("我是带参2");
}

//展示细节
public void dog(){
	System.out.println(color+"---->"+type);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值