java怎么定义一个对象?

java怎么定义一个对象?,第1张

你应该问怎么实例化一个类生成一个对象

java 是先定义一个类 ,然后new 这个类,然后生成对象的

Java编程中类和对象的定义

1,什么是类?

答:类是客观存在的,抽象的,概念的东西。

2,什么事对象?

答:对象是具体的,实际的,代表一个事物。例如:车是一个类,汽车,自行车就是他的对象。

关于类与对象的描述:类是对象的模版,对象是类的一个个体

3,Java中定义类的方法?

class 类名

用Java语法定义人类:

public class Person

{

}

4,对象的定义方法?

1,对象声明:类名 对象名;

2,对象创建 对象名 =  new 类名(); new作用:分配内存空间。

也可以合写为:类名 对象名 = new 类名();

5,例子:创建一个空调,并调用制冷。

//设计一个空调

package practice;

public class Kongtiao {

    //空调属性

    String name;

    String pinpai;

    String pishu;

    int tempeture;

    

    //定义制冷行为

    void cool()

    {

        tempeture--;

    }

    

    //定义加热行为

    void hot()

    {

        tempeture+=7;

    }

    //主函数

    public static void main(String[] args){

        Kongtiao kt = new Kongtiao();

        ktname = "美的";

        ktpishu = "2匹";

        kttempeture = 20;

        ktpinpai = "志高";

        /

        ktcool();

        Systemoutprintln("空调的温度是"+kttempeture);

        /

        

        kthot();

        Systemoutprintln("空调的温度是"+kttempeture);

        

        

    }

}

对象是类的一个实例,有状态和行为。类是一个模板,它描述一类对象的行为和状态。

看图,图中男孩女孩为类,而具体的每个人为该类的对象。

set方法是设置值,get方法是取值。

在java的学习中,面向对象应该是java技术的重中之重,虽然在生活中没有对象可以面对,但在技术中还是要一直接触面对对象,而且不可避免。今天对面向对象来了一个小总结。

一、面向对象的特点:

1、将复杂的事情简单化。

2、面向对象将以前的过程中的执行者,变成了指挥者。

3、面向对象这种思想是符合现在人们思考习惯的一种思想。

过程和对象在我们的程序中是如何体现的呢?过程其实就是函数;对象是将函数等一些内容进行了封装。

二、匿名对象使用场景:

1、当对方法只进行一次调用的时候,可以使用匿名对象。

2、当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。

三、在类中定义其实都称之为成员。成员有两种:

1、成员变量:其实对应的就是事物的属性。

2、成员函数:其实对应的就是事物的行为。

所以,其实定义类,就是在定义成员变量和成员函数。但是在定义前,必须先要对事物进行属性和行为的分析,才可以用代码来体现。

四、类中怎么没有定义主函数呢?

注意:主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。主函数的解释:保证所在类的独立运行,是程序的入口,被jvm调用。

五、成员变量和局部变量的区别:

1、成员变量直接定义在类中;局部变量定义在方法中,参数上,语句中。

2、成员变量在这个类中有效;局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。

3、成员变量存在于堆内存中,随着对象的产生而存在,消失而消失;局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

六、构造函数和一般函数有什么区别呢?

1、两个函数定义格式不同。

2、构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。

一般函数,是对象创建后,需要调用才执行,可以被调用多次。

七、创建一个对象都在内存中做了什么事情?

1、先将硬盘上指定位置的Personclass文件加载进内存。

2、执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。

3、在堆内存中开辟一个实体空间,分配了一个内存首地址值。new

4、在该实体空间中进行属性的空间分配,并进行了默认初始化。

5、对空间中的属性进行显示初始化。

6、进行实体的构造代码块初始化。

7、调用该实体对应的构造函数,进行构造函数初始化。

8、将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)

即将离开校园的你心里是否有太多太多的不舍?最让你不舍的是什么呢?不舍得就此结束了的读书生涯,不舍得老师同学之间的情谊,不舍得曾经参加的学生社团,不舍得尽管吐槽但还是爱的校园饭堂,相信也有很多同学最不舍的是那个让自己牵肠挂肚的人。离别需要勇气,告白更加需要勇气,那么面对那个让你心动的女生或者男生,你是否有勇气去表达你的倾慕之情?**《心动》有句着实令人心动的台词:“你辛苦归辛苦,什么时候有空嫁给我。”男主角的勇气值得学习。**《心动》对于这个让你心动的人,相信你依然清晰地记得当初那么的一瞬间,她或他是如何让你怦然心动。是军训时的英姿飒爽?是上课时的秀外慧中?是舞台上的才华横溢?是社团中的精明强干?是校道上的袅袅婷婷?是图书馆里的温文尔雅? 只惊鸿一瞥,便一眼万年,以后只要有她或他的地方,就有你的目光驻足,每一次在校园的路上你是多么希望能够遇到她或他呢?你是否曾经因为自己的胆小不敢去表白?总想着自己配不上她或他,先要努力提升自己才有勇气去表白,一直在等时机,后来发现她或他跟其他人在一起的时候你又是如何捶胸顿足?独自疗伤?几年过去了,至今你心里一直有他或她,但是你不知道人家心里到底有没有你,那为什么不去追求答案呢?如果她或他现在依然单身,你是否能够有勇气去表达倾慕之情,你应该学习一下赵默笙,人家一女生都能够在大庭广众之下去追求何以琛,你为什么不敢去踏出这一步呢?不敢去做那注定你的大学是有遗憾的,错过了就是错过了。看过《大话西游》的人应该对最后城头上那段经典的表白映像深刻。你勇敢地去做了,不管成功与否,相信你的大学就没有遗憾!加油!《大话西游》经典表白如果最后不是因为你没有勇气,而是真的是不可能实现在一起的愿望,也不必伤感。“留下只有思念,一串串永远缠,浩瀚烟波里,我怀念,怀念往年,外貌早改变,处境都变,情怀未变”。每次听到梅艳芳的这首歌《似水流年》就特别感动,淡淡的忧伤,曾经也许你们距离很近,可是也许因为什么原因,你们最后没有在一起,处境变了,但你的情怀不曾变过。真诚的祝福对方“你若安好,便是晴天”,有此种气概的你,终有一天会寻到属于你的幸福。

Object 是一切引用类型的父类,所有能被Object接收的均为对象

你上面写的数组 int[] temp = {1,3,5,7,9} 也可以写作 int[] temp = new int[]{1,3,5,7,9}

简言之,所有可以new出来的不管是类也好,接口也好,都可以看做为对象!并且都能被Object接收!

他们的异同之处就在于,对象是一个抽象的概念,而数组是对象,但是他有具体的实例!

例如,String a = "abc"; 当你声明String a 的时候,jvm(java虚拟机)就帮你在堆中开辟一块内存空间,用来存放a的数据"abc",这里的a叫作引用,"abc"则为实例!

其实 String a = "abc" 完整的写法是 String a = new String("abc") ,只不过是当jvm看到a的时候,不管你有没有new它,jvm都会在后台把new的过程给补上而已!

引用类型的变量,可以省去new的步骤,但是class和interface,是必须用new的!

反正你就记住,一切可以new的,都可以看作为对象,并且都可以被Object接收!

我大一的时候学过一学期的C,时间有点久了只能记住一点点。印象最深刻的就是开头那个include

说回来Java和C其实代码风格是很相似的。什么面向过程什么面向对象,说起来很绕,甚至我刚工作时还是很迷糊,但是工作一段时间就能明白了。

java中的对象可以理解为数据存储对象,比如说数据库里有个person表,对应的实体类一定要有一个person类,这个类里一般会有一些简单属性name,sex之类的。这些是每一个person都会有的,书上往往都会说“把大千世界看成一个个的对象”,这样太绕你读不懂就理解为数据库person的每行都有name,sex字段。

至于方法,就是为person编写的业务程序。你的代码需要person有一个听的功能,你就定义一个 void say(),如果这个person什么都不用做,那就没有方法。

package test_1;

import javautilScanner;

public class Person {

private String name;

private String gender;

private int age;

private boolean married;//规定已婚:false未婚:true

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

thisgender = gender;

}

public int getAge() {

return age;

}

public void setAge(int age) {

thisage = age;

}

public boolean isMarried() {

return married;

}

public void setMarried(boolean married) {

thismarried = married;

}

public Person(String name,String gender,int age,boolean married){

thisname=name;

thisage=age;

thisgender=gender;

thismarried=married;

}

public static String marryWith(Person p){

 Scanner sc=new Scanner(Systemin);

 //这里是你的个人信息

Systemoutprintln("请输入你的姓名:");

String name=scnextLine();

Systemoutprintln("请输入你的性别");

String gender=scnextLine();

Systemoutprintln("请输入你的年龄:");

int age=scnextInt();

Systemoutprintln("请输入婚否:已婚/false 未婚/true");

boolean married=scnextBoolean();

if(genderequals(pgetGender())){

return "同性不能结婚";

}else if(age<22||pgetAge()<20){

return "未到结婚年龄";

}else if(married==false||pisMarried()==false){

return "一方已婚不能结婚";

}

return null;

}

public static void main(String[] args) {

Person p=new Person("凤姐","女",32,true);

Systemoutprintln(marryWith(p));

}

}

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4161995.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-20
下一篇2024-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存