java当中一个类必须包含变量,方法,对象吗

可不可以单单有方法

单单有变量
java当中一个类必须包含变量,方法,对象吗
单单有对象

4个回答

不是的。一般的java类是有属性和方法的,比如实体类,有该实体的属性,和对应的get/set方法。有些业务类只有方法。根据需要只有组合。

没有这些说法,可以任意组合

一个类里面什么都没有都可以 也可以又任何东西

Java类没有那么的固定,是比较灵活的。

一般我们都是根据需要来定义类,如果需要方法,就加方法,如果需要变量就加变量。
当然我们创建一个类,类里边啥都没有也是可以的,只是这样我们定义它来有什么意义么,没有意义的话我们就不去定义它。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于Java程序中类定义对象的处理,以及类中变量与方法的运行过程
首先先理解创建一个对象时,系统所要完成的3个工作: 1>为每个对象分配不同的存储空间,即不同的实例化对象要有不同的地址空间;(也可以理解为有多个对象同时指示着同一个实例) 2>如果类定义有初值,使用该值对成员变量进行初始化;如果没有可以使用默认值; 3>自动调用构造函数,如果构造方法有多个,则根据参数类型、个数选择调用哪个构造方法; 看如下一个程序: class Circle{ flo
java类里的成员变量是自身的对象问题
今晚看单例模式饿汉时想到一个问题:假如java类里的成员变量是自身的对象,则新建该类对象时内存中怎么分配空间,我感觉似乎死循环了。 举个例子: package day810; class B { private String b = "Hello"; private B a = new B(); } public class A { public static void main(S
类和对象(字段=变量、方法=函数、方法重载、静态成员、属性、构造函数)
一、类 类包括:字段、属性、构造函数、函数、索引器。 一个类都可以包含两种成员:字段(Field)与方法(Method)。 字段即变量,方法即函数。 类的字段一般代表类中被处理的数据,类的方法大多代表对这些数据的处理过程或用于实现某种特定的功能,方法中的代码往往需要访问字段保存的数据。 声明为public 的变量和函数可以被外界直接访问,与此对应,private 的变量与函数
深拷贝实例(一个类中包含另一个类的对象)
import java.util.*; /** * 深拷贝 * */ public class test { public static void main(String[] args){ String name = "张三"; int age = 15; Address ads = new Address(); a
java 同一个类下的不同方法的变量之间的引用
比方说public int A(){ return array[];  } 另一个方法public void B(){ } B方法中要用到array[]数组。 这种情况下如果是同一个变量,可以通过以下方法来定义,就可以随时被引用。方法一:定义为 static的,这样的话,就会初始化到内存中,直接引用变量名称即可获取到值。方法二:定义为final static的,这样的话,也
对象和类之静态变量、常量和方法
在上的篇的博客中创建的Circle()方法属于实例方法,里面的变量也是属于实例变量,即实例变量是绑定到类的某个特定的实例的,它不能被同一个类的不同对象共享 。例如,创建一下两个对象:Circle() circle1 = new Circle(); Circle() circle2 = new Circle(5); 这两个实例的属性是不相关的,它们储存在不同的内存位置,circle1 的变化不会
java中,一个类实现某个接口,必须重写接口中的所有方法吗?
http://www.cnblogs.com/jianmang/articles/4943653.html 不一定,关键要看子类是否是抽象类。 如果子类是非抽象类,则必须实现接口中的所有方法;  如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在! 1、抽象类定义 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是
Java 中一个类必须含有一个构造方法吗?
Java类 必须包含一个或一个以上的构造方法 构造方法用于构造该类的实例对象,Java语言通过new关键字来调用构造方法,从而返回该类的实例。 构造方法是一个类创建对象的根本途径,如果一个类没有构造方法,这个类通常无法创建实例,因此,Java语言提供了一个功能: 如果程序员没有为一个类编写构造方法,则系统会为该类提供一个默认的且无参的构造方法。 一旦程序员为一个类提供了构造方法,系统将不再...
C++ 包含类两个类互相调用彼此的类成员变量和方法
C++,C 包含类两个类互相调用彼此的类成员变量和方法,里面介绍了如何在头文件中创建相互的类对象,简单易懂
Java成员变量是自身、本类对象
如题,假如java类里的成员变量是自身的对象,则新建该类对象时内存中怎么分配空间,我感觉似乎死循环了。 不过我想的肯定是错的,因为很多类的成员变量是自身对象,并且绝对无错,举个例子: Class A{ private String b =”Hello”; private A a = new A(); } Class B{ public static void main(){
成员变量、类变量、局部变量的区别
面向对象编程 1.封装性 面向对象编程核心思想之一就是将数据和对数据的操作封装在一起,通过抽象即从具体的实例中抽取共同的性质形成一般的概念。 2.继承 子类可以继承父类的属性和功能,即子类继承了父类所有的数据和数据上的操作,同时又可以添加子类独有的数据和数据上的操作。 3.多态有两种意义的多态      1)操作名称的多态    2)和继承有关的多态 类:
Java中的属性(变量)和方法
属性一、对象变量:属性与对象相关 public :该类的任意对象的程序均可访问修改 protected:只能在该类,该类的子类,以及同属于一个package的其他类中使用。 private:只能在所属的类中使用二、类变量(静态变量):属性与整个类相关联而不是对象,例如跟踪程序中使用了多少个该类 的对象的变量。类变量也称为静态变量。 Java 中被 static 修饰的成员称为静态成员或类成
假如java类里的成员变量是自身的对象
如题,假如java类里的成员变量是自身的对象,则新建该类对象时内存中怎么分配空间,我感觉似乎死循环了。  不过我想的肯定是错的,因为很多类的成员变量是自身对象,并且绝对无错,举个例子:  Class A{  private String b ="Hello";  private A a = new A();  }  Class B{  public static void m
Java中 一个类实现了某接口 则必须实现该接口中的所有方法么?
Java中 一个类实现了某接口 则必须实现该接口中的所有方法么?  编程语言编程java 专业回答 JAVA时空 团队  woshidaniel 2015-09-23 22:28 不一定,抽象类实现某个接口,可以不实现所有接口的方法,可以由它的子类实现。 比如 public interface A {//定义一个接口    public void 
Java中主类中定义方法加static和不加static的区别
Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用,后者必须先实例化后用实例调用) /* 3 知识点:1.Getter and Setter 的应用 4 2.局部变量与成员变量(也可叫做全局变量) 5 3.Static关键字的用法 6 a.成员变量被static修饰后的所有类的
java 中通过引用变量访问对象
引用类型:一个类就是一种引用类型。   对象是通过对象引用变量来访问的,该变量包含对对象的引用,使用如下语法格式进行声明:   ClassName objectRefvar;  类名 对象引用变量;   Circle  circle1=new Circle(); 上面的语句,创建了一个对象,并且把对象的引用赋值给变量circle1( 也就是说,circle1中放的是对Circle对象的
Java 变量什么时候需要初始化?
1 .类里定义的数据成员称为属性,属性可不赋初值,若不赋初值则JAVA会按上表为其添加默认值;方法里定义的数据成员称为变量,变量在参与运算之前必须赋初值。有了这个模板,就可以用它来创建对象:Vehicle veh1 = new Vehicle(); 通常把这条语句的动作称之为创建一个对象,它包含了四个动作。 1)右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Ve
java一个类获取另一个类的变量值
用set get方法 A类中,有一个变量i,B类需要获取这个i值并对其进行处理 public class A { private int i; public int geti() { return i; } public void setC(int i) { this.i = i; } } public class B { private A a; public
Java中同一个类下一个方法怎样访问另一个方法下的变量
Java中同一个类下一个方法怎样访问另一个方法下的变量
New一个类的的时候 会执行什么
New一个类的的时候 执行顺序New一个类的的时候,1. 执行父类的static成员和static代码块(按照先后顺序)2. 执行子类的static成员和static代码块(按照先后顺序)3. 执行父类的非static成员字段变量和代码块的初始化(按照先后顺序)4. 执行父类的构造方法5. 执行子类的非static成员字段变量和代码块的初始化(按照先后顺序)6. 执行子类的构造方法作者:
Scala 类的继承
Scala 类的继承介绍。
C++ 两个包含类互相调用彼此的类成员变量和方法
C++ 两个包含类互相调用彼此的类成员变量和方法
JAVA抽象类中是否一定要有抽象方法
抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。...
由一道面试题所想到的--Java实例变量初始化
该题目源自微信公众号(程序员的那些事)的推送:携程 Java 工程师的一道面向对象面试题题目是这样的:求下面程序的输出:public class Base { private String baseName = "base"; public Base() { callName(); } public void callName() {
Java 类和对象,如何定义Java中的类,如何使用Java中的对象,变量
1.对象的概念 :万物皆对象,客观存在的事物皆为对象 2.什么是面向对象:人关注一个对象,实际上是关注该对象的事务信息 3.类:类是模子,确定对象将会拥有的特征(属性)和行为(方法)             类的特点:类是对象的类型,具有相同属性和方法的一组对象的集合 4。什么是对象的属性:属性,对象具有的各种特征 ,每个对象的每个属性都拥有特定值 5.什么事对象的方法:对象
面试题:一个方法和类名相同,那这个是构造方法吗?哪些方式可以获取或设置成员变量的值?
// 面试题:一个方法和类名相同,那这个是构造方法吗?     // 答:不是,构造方法没有void,构造方法是方法名和类名相同且没有void。 // 给成员变量赋值有2种方式setXxx()和构造方法,但是一般用set赋值,针对性强一些     // 获取成员变量的值的方法也有2中,通过getXxx()和写一个show()方法,但一般用getXXX() package mai
java关于局部变量必须初始化赋初值及成员变量不必须该操作的原理浅解析
一个我们编写的java源码类(机器码)要想被正式运行,必须先编译成字节码(class文件),然后虚拟机经过类加载过程后才能真正使用。 而这个类加载过程包括了对字节码  加载 验证 准备 解析 初始化等过程。在这个过程中,我们会对我们定义的成员变量进行两次初始化,一次赋默认初值(0值,boolean赋为false),一次赋我们定义的初值,如: class Test{ int a = 2; }
待补充:java类里的私有变量问题,在对象A里有一个对象B,调用对象B的方法获取变量,会有短暂的缓存
待补充:java类里的私有变量问题,在对象A里有一个对象B,调用对象B的方法获取变量,会有短暂的缓存
一个类的对象做为另一个类的数据成员
  1、在c++中,当把一个类的对象作为另一个新类的数据成员时,定义格式为: class  X     {    类名1  成员名1;        类名2  成员名2;    其他成员;     } 2、如果一个类A的对象作为另一个类B的数据成员,则在类B的对象创建过程中,调用其构造函数的过程中,数据成员(类A的对象)会自动调用类A的构造函数。     但是应注...
【类反射】类的调用(调用类中的成员:成员变量、方法、构造方法)
★ 构造类对象使用构造器新建对象。根据指定的参数类型找到相应的构造函数,传入相应参数调用执行,以创建一个新的对象实例。 代码演示:package cn.hncu.reflect.test;import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa
浅谈java的方法覆盖与变量覆盖
首先,我们看看关于重载,和覆盖(重写)的简明定义: 方法重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。 方法覆盖:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法 我们重点说说覆盖问题,以如下代码为例: public class People { pub
关于对java中synchronized修饰同一个类的两个方法的理解
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;...
类中包含几种成员,分别是什么?
类中有两种成员:成员变量以及成员函数。其中成员变量分为静态的成员变量以及非静态的成员变量;成员函数分为静态的成员函数以及非静态的成员函数。
java 类调用静态方法不需要实际对象存在吗,仅仅将类装载到内存中就可以了吗
静态方法在类加载的时候就已经存在了,第一次调用这个方法时,这个类对象就会加载如jvm中(内存),并且只会加载一次,全类公有,可以用类名加 . 访问,也可以用这个类的对象调用,当用这个对象调用该方法时,就会调用jvm事先加载好的类对象的这个方法,且这个类对象在内存中只有一个,所以无
在Java中怎么访问类中用Private修饰的私有变量?
package com.saiermeng; //这个程序中最主要的目的就是访问私有的年龄值 /*之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。 对访问的数据进行操作。提高代码健壮性。 */ //年龄定义是私有的,我们现在想要去访问,首先用逻辑判断语句输出(setAge)合法的年龄值,然后定义为a,然后得到(getAge) //合法的年龄值,然后自定义一
在java中变量一定要初始化吗?
在类中定义的成员变量如果你没有初始化java会自动帮你初始化,如果是数字会自动初始化成0,字符会初始化成'o',对象引用会初始化成null. 当然如果你定义的是局部变量就必须初始化了,否则编译会报错 这正是java的特点,极大的提高了代码安全性
java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
最近读《研磨设计模式》对这段话不太理解: Java 中 static 的特性: „ static 变量在类装载的时候进行初始化。 „ 多个实例的 static 变量会共享同一块内存区域。 做了个例子验证一下 例子: class A { static int num = 1; private String name; public String getName(St
java通过映射取得方法对一个类的变量进行赋值
备注:如果是int型的类变量,则set方法的传参应该是Integer类型而非 int类型 代码: /** * params object:进行赋值的对象 field:复制的属性 value:赋予的值 * */ public static void setFieldValue(Object object,String field,Object value){ cha
C++:不同类对象之间访问数据的3种简单常用的方法(拒绝全局变量,根据类自身特性选择的实用方法)
C++编程中经常出现两个不同的类对象之间相互访问数据的需要,但是成员变量不是public形式,无法直接访问相应的变量,抛开全局变量不谈,常用的方法有:类封装留下的接口函数、友元机制、类静态成员变量。 1、通过类封装留下的接口函数(最常用) 利用类的封装特性,留下数据交互的接口,即通过public形式的成员函数访问私有的成员变量。 比如创建一个CStuden类: Student.h如下 ...
通过反射得到一个类的对象,如何对该对象对应的类的父类中的变量赋值
class  Person{       private int age;       private String name;       public Person(){                   }       public Person(int age, String name){           this.age = age;
1.编写一个类实现银行帐户的概念,包括的属性有“帐号
1.编写一个类实现银行帐户的概念,包括的属性有“帐号”、“储户姓名”、“地址”、“存款余额”,包括的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”等。 2.改写上面的类,增加一个类的静态属性“最小余额”和一个用来修改这个最小余额属性的方法。 3.改写上面的类,增加一个类的静态属性“活期利率”和封装这个属性的相应方法。
创建一个对象的四种方法
一. 使用Object创建一个新的对象          1>定义一个新的对象 var student1 = new Object();        2>添加属性 student1.name = '张三'; student1.age = 12;     3>取属性值       a,   var nameValue = student1.na
java中,一个类实现某个接口,必须重写接口中的所有方法吗???
java中,一个类实现某个接口,必须重写接口中的所有方法吗???  java编程语言 专业回答 程秀娟  IT行业金牌讲师 北大青鸟中关村校区学术部 2015-09-29 10:30 不一定,关键要看子类是否是抽象类。 如果子类是非抽象类,则必须实现接口中的所有方法;  如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!
Java之抽象类(abstract关键字)
abstract关键字: 1)用abstract关键字修饰一个类时,这个类叫做抽象类;用abstract关键字修饰一个方法时,这个方法叫关键方法; 2)含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写; 3)抽象类不能被实例化; 4)抽象方法只需声明,不需实现。
new一个类对象和使用类名创建一个对象有什么区别?该怎么解决
举个简单的例子:  class Domo {  private: int x; int y;  public: void Set(int a,int b):x(a),y(b){} void Print() { cout };   void main()  {  Demo p;  Demo *q=new Point(); p.Set
1—类、域、方法和实例对象
Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范、继承是类与类之间联系的一种形式、而多态为系统组件或模块之间解耦提供了解决方案。应用面向对象语言求解问题的基本思路是:首先分析问题并建立相应的对象,然后通过这些对象以及他们之间的配合解决问题,其中每个对象在计算机中占用一定的内存,同时能够完...
如何在类里面引用另一个类的方法里的局部变量
在一个类中是不能调用另外一个类方法中定义的局部变量的,若想调用可以按以下几种方法做: 1、将局部变量定义为类中的成员变量,然后通过对象来调用。 2、将局部变量用final关键字定义为常量,然后通过类名.常量名来调用。 3、若方法的返回值是void,可以修改方法的返回值类型为局部变量的类型, 然后在方法的最后加上一句 return 局部变量;就可以通过调用此方法来获得该局部变量。 本人推荐用
JAVA非静态类与静态类、对象、变量、方法等的区别
静态类: 在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。    在开发过程中,内部类中使用的最多的还是非静态地成员内部类。不过在特定的情况下,静态内部类也能够发挥其独特的作用。    一、静态内部类的使用目的。    在定义内部类的时
Java引用变量调用方法时的
Java引用变量有两个类型,分为:编译时类型和运行时类型 编译时类型:即声明引用变量时的类型 运行时类型:即生成的对象的类型 例如:Animal a=new Dog();其中编译时类型为Animal,运行时类型为Dog. 当相同类型的引用变量调用具有继承关系类中的方法时,就有可能出现多态。【当把一个子类对象直接赋给父类引用变量时,这个父类引用变量的编译时类型为父类,而运行时类型为子
java中对象的equals和hashcode覆盖原则
因为如果只覆盖了equals而没有覆盖hashCode, 则两个不同的instance a和b虽然equals结果(业务逻辑上)相等,但却会有不同的hashcode,这样hashmap里面会同时存在a和b,而实际上我们需要hashmap里面只能保存其中一个,因为从业务逻辑方向看它们是相等的. 为了能让集合框架中的类如HashMap正常工作,必须保证同时覆盖equals()和hashCode(
立即提问