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

java面向对象(推荐)

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

java面向对象(推荐)

今天咱们来了解一下什么是面向对象 什么是对象
  • 对象是类的实例: 由类创建的具体实体
类:
	在现实世界中具有相同特征和行为的某一种具体事务
	比如人:
			有姓名、年龄、性别
		花:
			颜色、气味
		楼:
			高度、宽度
  • 定义一个学生类

     作为一个学生具备的特征、行为是什么:
     例如:
     	特征: 姓名、学号、成绩
     	行为: 学习、睡觉
     
     特征可以理解为类里面的成员属性
     行为可以理解为类里面的成员方法
     
     一个类里面可以创建多个不同对象
    
// 创建一个学生类
public class Student{
	// 定义成员属性 也就是学生特征
	String name;  // 姓名
	int age;  // 年龄
	double score;  // 成绩

	public void xuexi(){
		System.out.println("我是学习");
	}
	
	public void shuijiao(){
			System.out.shuijiao("我是睡觉");
		}
}
  • 创建对象

     new: 用来创建指定对象
     	-- 实例化对象(使用指定的类实例化一个具体的对象)
    
     语法: 类名 对象名 = new 类名();
    
     成员属性/成员方法的调用:
    
     	对象名.属性名/方法名
    
     类中的静态方法调用方式:
     	
     	对象名.静态方法名();
     	类名.静态方法名();	
    
  • 类的组成

     成员属性/实例变量
     成员方法
     构造方法
     常量/静态常量
     ...
    
  • 类与对象的关系

     类: 定义了对象所具有的特征与行为, 类可以理解为对象的模板
     
     对象: 拥有多个相同特征与行为的实体, 对象是类的实例
     
     面向对象就是从具体到抽象, 再从抽象到具体的一个过程
    
  • 实例变量与局部变量

     实例变量: 在类中方法体外声明/定义的变量
     		  有效范围: 在整个类体中有效
     	      有默认值
     	      对象被销毁之后失效
     	      
     局部变量: 只能声明/定义在方法体中的变量
     		  有效范围: 只在上面最近的开始大括号(在该大括号中)及相应的结束大括号的范围内
     		  没有默认值
     		  方法执行完成后被销毁
    
     		  同名的变量必须注意其有效范围
    
  • 方法重载

     在一个类中出现同名的方法称之为方法重载
    
     要求:
     	1. 方法名称相同但参数不能相同(参数的个数, 参数的数据类型, 参数的顺序)
     	2. 返回值与访问控制修饰符无关
     
     方便, 灵活, 屏蔽使用差异 
    
  • 构造方法/构造器/构造函数

     是类中的一种特殊的方法, 用来创建类的对象(实例化对象)
     		---主要作用: 给类中的成员属性/实例变量赋值
     
     语法:
     			public 类的名称(参数列表){
     			
     			}
     构造方法不像其它方法的方式去调用
    
public class Person{
	String name;
	int age;

	public Person(){
		
	}

	public Person(String n, int a){
		name = n;
		age = a;
	}	

	public String say(){
		return "name = " + name + ", age = " + age;
	}
}

public class TestPerson{
	public static void main(String[] args){
		// 调用构造方法
		Person p = new Person();	
		System.out.println(p.say());
		// name = null, age = 0
		// name = 张三, age = 20
		
	}
}
	如果类中没有声明构造方法,那么编译器在编译时会自动创建一个无参的构造方法
	
	如果在类中声明了构造方法, 那么编译顺不会再创建无参的构造方法
  • 对象创建时的内存分配过程

     Person p = new Person("张三", 20);
    
     Person p2 = new Person("李四", 21);
    
  1. 在内存(堆)中开辟对象空间
  2. 为成员属性初始化赋值(使用各成员属性相应的数据类型的默认值进行初始化赋值)
  3. 执行构造方法中的代码(使用参数值进行赋值)
  4. 将内存中的地址值赋给引用变量
  • this关键字

      作用: 表示当前类对象(自己)
      1. 区分实例变量与局部变量
      		-- 如果局部变量与实例变量同名的情况下, 那么在方法中优先使用局部变量
      2. 调用本类中的方法
      3. 调用本类中构造方法(重载构造方法)
      	    必须写在构造方法中的非注释行第一行
      		在一个构造方法中只通过this调用一次其它重载的构造方法
    

今天的分享到这里就结束了: 只有非常努力,才能看起毫不费力

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

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

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