Java(3)

面向对象编程思想:抽象  继承  多态  封装

对象:万事万物皆对象. 

类:把具有相同属性和方法的对象抽象出来形成的几何体!

类是对象的抽象,对象是类的具体!

如何描述一个类

  1. 属性(属性不初始化时也有初始值,会自动初始化,整形为0  小数型为0.0    boolean型为 false  引用类型(例如string 类型)为null 而变量不赋初始值时编译会报语法错误)

  2. 方法

    1public class Test 2{ 3 int id; 4 boolean i; 5 double ide; 6 public static void main(String[] args) 7 { 8 int a=0; 9 Test t1 = new Test(); 10 System.out.println(a); 11 System.out.println(t1.id); 12 System.out.println(t1.ide); 13 System.out.println(t1.i); 14 } 15 //最后输出 0 0 0.0 false 16}

如何初始化一个对象

通过  new    类名()    来产生一个对象!

C#以及JAVA中是没有全局变量的,而有全局常量

void:不是无返回类型,而是不返回值!

构造函数(实例化对象的时候会使用)(是类中的一个特别函数,与类名相同,并且无返回类型,注意不是无返回值,每个类中都会有一个隐式的无参构造函数(不需要手动写),同时构造函数可以重载):

1public class Test 2{ 3 public Test() 4 { 5 System.out.println("使用构造函数来实例化一个对象!"); 6 } 7 public static void main(String[] args) 8 { 9 10 Test t1 = new Test(); //在此句执行的时候打印 使用构造函数来实例化一个对象! 11 12 } 13 14}

this关键字以及重载注意事项和构造方法的重载

重载:在同一个类中,有两个以上的相同方法,方法名相同(返回类型,方法名字),但参数(参数个数,参数的数据类型)不同,重载通常用来丰富方法功能

在写有参数构造方法时,将会覆盖掉以前的隐式构造函数,从而使以前的构造方法不存在,因此此时在实例化对象的时候特别注意要将参数写进去!

1public class Test 2{ 3 int id; 4 String name; 5 int gg; 6 public Test() 7 { 8 System.out.println("使用构造函数来实例化一个对象!"); 9 } 10 11 public void setName(String name) 12 { 13 this.name=name; 14 } 15 16 public String getName() 17 { 18 return this.name; 19 } 20 21 public void setId(int id) 22 { 23 this.id=id; 24 } 25 26 public int getId() 27 { 28 return this.id; //this关键字指的就是这个类的对象本身 29 } 30 31 public void setGg(int gg) 32 { 33 gg=gg; 34 } 35 36 public int getGg() 37 { 38 return this.gg; 39 } 40 41 public static void main(String[] args) 42 { 43 44 Test t1 = new Test(); //在此句执行的时候打印 使用构造函数来实例化一个对象! 45 t1.setName("昊天"); 46 t1.setId(11); 47 t1.setGg(450); 48 System.out.println("id:"+t1.getId()+" name:"+t1.getName()+" gg:"+t1.getGg()); 49 Test t2 = new Test(); 50 t2.setName("加油"); 51 t2.setId(181); 52 t2.setGg(6000); 53 System.out.println("id:"+t2.getId()+" name:"+t2.getName()+" gg:"+t2.getGg()); 54 55 } 56 57}

最后输出结果:

可见如果不使用this关键字,只能给一个对象赋值,而剩下的对象的值仍然是第一个对象的值

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Python基础6——面向对象

14面向对象14.1面向对象基础​面向对象是一种编程思想,处理面向对象编程以外,还有面向过程编程​三大特征:1.封装2.继承3.多态​面向过程与面向对象的区别1.面向过程:自己动手洗衣服,拧衣服、晾衣服2.面向对象:构造一个洗衣机对象,让洗衣机对象完成14.2类和对象​类:相同属性和功能的一类事物。​人是一个类,张三(

java常用类(2)

三、时间处理相关类Date类:计算机世界把1970年1月1号定为基准时间,每个度量单位是毫秒(1秒的千分之一),用long类型的变量表示时间。Date分配Date对象并初始化对象,以表示自从标准基准时间(称为“历元”(epoch),即1970年1月1日08:00:00GMT)以来的指定毫秒数。示例:packagecn.tanjian

java8新特性

Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str

java面向对象的三大特性

java面向对象的三大特性1.封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。2.继承,继承可以使用现有类的所有功能和成员变量,并且无需重新编写原来的类的情况下对这些功能进行扩展。3.多态,实现了对代码的复用,多态具体体现为重载和重