Java的类与对象定义和使用
面向对象的程序设计:封装性、继承性、多态性
类:具有相同属性和行为的一组对象称为"类"(抽象、概念上的定义)
对象:类的实例化(具体、事实存在的个体)
类的定义:
[<类修饰符>] class <类名> [extends <父类名>][implements 接口列表] {数据成员、成员函数等属性}
如:
public class Citzen //定义一个市民类 { String name; //姓名 String gender; //性别 Date birthday; //日期类的成员变量 String homeland; //家乡 String ID; //ID } public class Date{int year;int month;int day;}
类的使用:new关键字,实例创建类
语法: 类名 对象名=new 构造函数名(实参);
如:
public class Student{ //创建一个学生类 private String name; private String gender; private String homeland; public void setname(String name){this.name=name;} public void setgender(String gender){this.gender=gender;} public void sethomeland(String homeland){this.homeland=homeland;} public void talk(){System,out.print("name:"+this.name+"gnnder:"+this.gender+"homeland:"+this.homeland} } public static void main(String[] args) {Student stu1=new Student(); stu1.name="小明";stu.gender="男";stu1.homeland="北京"; Student stu2=new Student(); stu2.name="小华";stu2.gender="男";stu2.homeland="广州"; Student stu3=new Student(); stu3.name="小红";stu3.gender="女";stu3.homeland="武汉"; stu1.talk(); stu2.talk(); stu3.talk();}
函数的参数传递:①按值传递②按引用传递:当引用语句中实参是对象或数组时,被引用的函数声明的形参也一定是对象或者数组。
对象的清除:类中提供了一个函数finalize(),但不提倡使用。
若在程序中确实希望清除某对象并释放其空间,只需要将空引用(null)赋值即可。
函数的重载:某些情况下,对象的同种行为存在多种实现处理(overload)。一个类中,定义多个相同名称的函数。
函数重载的特点:①函数名称相同②参数列表不同(个数、类型、顺序)③与访问修饰符、返回值类型无关
函数重载的示例:
public class Test{ //重载show函数 public void show(){System.out.println("无参show函数")} public void show(String name){System.out.println("含参show函数"+name);} public void show(int num){System.out.println("含参show函数"+num);} } public static void main(String[] args){ Test t=new Test(); t.show(); //无参函数 t.show(100); //含参函数num t.show("小明"); //含参函数name }
构造函数:类中特殊的函数,主要用于创建对象。
构造函数的特点:名称与类名完全相同。无返回值类型,创建对象时,自动调用构造函数。
说明:若没有在类中显式定义构造函数,则编译器默认提供无参构造函数。
对象的创建过程:①开辟空间并为属性赋予默认值(new 构造函数名)②执行构造函数的代码③对象地址赋给变量。
构造函数的重载:同类中可添加多个同名构造函数。
如:
class Student{ String name;int age;String gender;double score; public Student(){} public Student(String name){} public Student(String name,int age){} public Student(String name,int age,String gender){} public Student(String name,int age,String gender,double score){} }
this关键字:类是模板,可服务于此类所有对象。this是类中的默认引用,代表当前实例。当类服务于某个对象时,this指向这个对象
this的用法:①调用实例属性,实例函数。注意:若成员变量与局部变量(形参)名相同,由于局部变量的优先级高,使用this访问实例变量。
②调用本类的其他构造函数。
说明:this()/this(实参),必须是函数体中的第一条语句。只能调用一次this()/this(实参)
本文地址:https://blog.csdn.net/qq_46960542/article/details/108031754
上一篇: 大数据在金融行业的应用
推荐阅读
-
Python中类的定义、继承及使用对象实例详解
-
python中面向对象_类_对象的概念与定义
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)
-
Java的类与对象定义和使用
-
Java中成员变量与局部变量的区别、对象类型作为方法的参数和方法的返回值
-
深入讲解C#编程中嵌套类型和匿名类型的定义与使用
-
Java基础学习-基本数据类型变量的定义和使用
-
荐 浅谈Java中类和对象的初始化、实例化以及方法重载的底层机制
-
乐字节Java反射之二:实例化对象、接口与父类、修饰符和属性
-
JavaScript-类的定义与对象的创建代码实例