精华内容
下载资源
问答
  • 和对象对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。是具有相似特征和行为...注意:主函数是不需要创建对象的,可以直接调用(由JVM)。java相关视...

    17d9551d83a117c9767f0e9b3ae0b32f.png

    类和对象

    对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。

    类是具有相似特征和行为的事物的统称。使用一个通用类来定义同一类型的对象。 类是一个模板 、蓝本或者说是合约 , 用来定义对象的数据域是什么以及方法是做什么的 。

    一个对象是类的一个实例,可以从一个类中创建多个实例 。

    注意:主函数是不需要创建对象的,可以直接调用(由JVM)。

    java相关视频教程:java学习视频

    类的分类

    主类:主要负责程序的运行

    实体类:主要负责描述事物

    工具类:一般不会创建对象,直接通过类调用函数(静态)

    下面几个就是我们常用的比较熟悉的几个工具类:Math.abs() Math.random()

    Arrays.toString();

    System.out.println();

    对象与类的关系:

    类是对象的定义, 对象从类创建。例如狗是一个类,对所有狗的一个统称,而哈士奇就是狗这个类的一个实体对象。

    如何去定义一个类

    主要定义其特征和行为

    特征:变量

    行为:函数

    定义狗这个类 ,特征有姓名、性别、年龄、身高、体重和毛色,定义6个成员变量存放,行为有吃和睡,定义两个成员函数来实现。class Dog{

    //直接定义在类中的变量 成员变量

    姓名 String name;

    性别 String sex;

    年龄 int age;

    身高 double heigth;

    体重 double weight;

    毛色 String color;

    //成员函数(非static函数)

    吃 public void eat(){... return;}

    睡 public void sleep(){... return;}

    }

    创建具体对象:public class Mian{

    public static void main(String[] args) {

    Dog Huskies=new Dog();

    }

    }

    对象创建的流程

    1、主函数先进栈

    2、执行语句的右边new Dog(),在堆内存中开辟一个空间,随机分配地址

    3、在对象空间中创建成员变量的空间,并对成员变量进行默认初始化,创建成员函数(并不在对象空间里,也不再栈里,在栈中调用)

    4、在函数栈中创建局部变量,存放的是该对象在堆内存中的地址

    局部变量和成员变量的区别

    区别一:定义的位置不同

    成员变量定义在类中,局部变量定义在方法中或者语句里面

    区别二:在内存中的位置不同

    成员变量存储在堆内存的对象中,局部变量存储在栈内存的方法中

    区别三:声明周期不同

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失,局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    区别四:初始化不同

    成员变量因为在堆内存中,有默认的初始化值,局部变量没有默认的初始化值,必须手动的给其赋值才可以使用

    java相关文章教程分享:java零基础入门

    展开全文
  • JAVA创建和销毁对象

    2018-03-21 11:58:00
     实体类属性非常多的时候使用build模式创建对象  单例实体构造方法需要私有化,可以利用枚举类型实现单例  需注意自动装箱导致的性能损耗 string对象 Calendar对象 TimeZone对象 Date对象 ...

      类静态方法取代构造方法创建对象

    1. 类静态方法有名称,可以通过名称说明返回的是什么类型的实例
    2. 可以控制是否需要新开辟内存空间
    3. 返回值是可以控制的

      实体类属性非常多的时候使用build模式创建对象

      单例实体构造方法需要私有化,可以利用枚举类型实现单例

      需注意自动装箱导致的性能损耗

    1. string对象
    2. Calendar对象
    3. TimeZone对象
    4. Date对象

      不用的对象及时置为null

      finalizer方法的使用需注意以下事项

    1. 该方法的调用时机是不确定的(包括system.gc())
    2. 该方法中发生异常不会抛出
    3. 创建和销毁方法的时间变长
    4. 子类的finalizer方法不会触发父类的finalizer方法

    转载于:https://www.cnblogs.com/moulton/p/8616186.html

    展开全文
  • JAVA中每个实体类都有自己的构造方法, 每个新建实体类会默认有一个无参的构造方法。当你重写了无参构造或者有参构造时, 默认的无参构造就会无效 构造方法的作用是什么? 构造方法就是当你创建了这个实例的时候...

    什么是构造方法?
    JAVA中每个实体类都有自己的构造方法, 每个新建实体类会默认有一个无参的构造方法。当你重写了无参构造或者有参构造时, 默认的无参构造就会无效

    构造方法的作用是什么?
    构造方法就是当你创建了这个实例的时候(例如new对象), 他会自动调用的方法

    构造方法的调用顺序是怎样的?
    若一个子类继承了一个父类, 并且这两个类都有静态的代码块,顺序应该是:
    父类的静态代码块—>子类的静态代码块—>父类的无参构造—>子类的无参/有参构造

    这里需要注意:

    • 静态代码块只初始化一次
    • 最后一步调用的是有参构造还是无参构造,取决于创建实例的方式(下面有详细代码示例)

    -----以下为代码示例以及总结-----

    代码示例:

    -----先让我们准备做示范的实体-----

    //父类

        public class TestA {
    
            static{
                System.out.println("我是A的静态代码块");
            }
    
            TestA(){
                System.out.println("我是A的无参构造方法");
            }
    
            TestA(int a){
                System.out.println("我是A的有参构造方法");
            }
    
        }
    

    //子类

        public class TestB extends TestA{
            static{
                System.out.println("我是B的静态代码块");
            }
    
            TestB(){
                System.out.println("我是B的无参构造方法");
            }
    
            TestB(int b){
                System.out.println("我是B的有参构造方法");
            }
        }
    

    -----接下来开始测试调用顺序-----

    //调用者一, 用于测试存在父子类关系的构造顺序调用情况

        public static void main(String[] args){
            TestB testB2 =new TestB(2);// 使用了有参构造
        }
    

    //调用者一的输出结果
    我是A的静态代码块
    我是B的静态代码块
    我是A的无参构造方法
    我是B的有参构造方法

    //调用者二, 用于测试不存在父子类关系的构造顺序调用情况

        public static void main(String[] args){
            TestA testA1 =new TestA();//使用了无参构造
            TestA testA2 =new TestA(1);//使用了有参构造
        }
    

    //调用者二的输出结果
    我是A的静态代码块
    我是A的无参构造方法
    我是A的有参构造方法

    总结:

    • 类创建时,默认会有无参构造, 重写了构造方法,默认的无参构造就会失效
    • 构造方法调用顺序为爷爷---->爸爸---->本身, 如果有静态的先运行静态的
    • 静态代码块只初始化一次(因为他存在虚拟机的方法区中,后期再做记录)
    • 当你重写了这个类的有参构造时,最好也重写他的无参构造,否则微服务调用可能会出现问题

    友情提示:
    我写博客不喜欢做过多赘述, 所以建议小伙伴从头到尾看仔细一点,切莫跳读

    落款

    全部作品都是自己手敲文字,绝非复制粘贴
    关注小凡,欢迎大家与我一起讨论技术,一起学习

    展开全文
  • Java搜索路径CLASSPATH

    2020-09-23 14:20:44
    我们在创建类文件的时候,都会用到package,这个包是和实体目录对应的,可是需要注意的是,这个只是为了区分类的不同,包名.类名,才是完整的一个。这个是可以拷贝到其它地方。 在编译的时候

    我们现在做java或者Android开发都是用IDE的,IDE帮我们配置好了各种环境,包括java搜索路径classpath,所以,如果java基础不牢的话,都不知道classpath是什么东西。
    在学python的时候,看到有对搜索路径的讲解,所以就想了解一下java的搜索路径。
    这里说一下我的理解,可能有地方不对。
    我们在创建类文件的时候,都会用到package,这个包是和实体目录对应的,可是需要注意的是,这个只是为了区分类的不同,包名.类名,才是完整的一个类。这个类是可以拷贝到其它地方。
    在编译的时候和包名没有任何关系,只要能顺着放类文件的路径找到类文件,就可以了,不管类文件中的包名是啥。用Java命令执行的一个类的时候(比如java HelloWorld),用到某个类就需要去加载类,加载类就需要找到对于的.class文件,这是就需要有搜索路径的支持了,要不然去哪里找呢?

    我们都知道java源码是用javac工具编译的,编译的时候,可能用到搜索路径,也可能用不到。
    如果自己写的类,有用到别人写的类,不是系统的类,那么编译的时候,编译器要能通过搜索路径找到这些类才可以。
    如果自己写的类,没有用到别人写的类,那么编译的时候,是和搜索路径没关系的,只要根据文件路径能到要编译的类文件就行。

    IDE是怎么设置搜索路径的呢?目前我还不知道。
    java类路径classpath和包
    聊聊Java的CLASSPATH设置
    配置JAVA环境变量中CLASSPATH变量的作用
    Mac下CLASSPATH配置的两种方式
    Java import以及Java类的搜索路径

    展开全文
  • java面试题

    2018-04-27 19:55:38
    答:接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类。 引用传递和值传递? 答:引用传递:形参改变影响实参 值传递:形参改变不影响实参 当一个线程进入一个对象的synchronized方法后,其他线程是否...
  • Java中的四大引用

    千次阅读 2020-07-12 16:59:14
    Java中的四大引用 强引用(StrongReference) 我们平常使用new操作符来创建的对象就是强引用对象,只要有一个...还有,这里的StrongReference只是一个对强引用的称呼,在java中并没有对应的实体类。 软引用(SoftReference
  • 156.使用 kafka 集群需要注意什么? 十六、Zookeeper 157.zookeeper 是什么? 158.zookeeper 都有哪些功能? 159.zookeeper 有几种部署模式? 160.zookeeper 怎么保证主从节点的状态同步? 161.集群中为什么要有主...
  • java初学者必看

    热门讨论 2012-02-24 16:07:34
    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。...18.3.1 实体类 18.3.2 数据处理 18.3.3 权限处理
  • java 面试题 总结

    2009-09-16 08:45:34
    而通常的内部类需要在外部类实例化后才能实例化。 22、JSP中动态INCLUDE与静态INCLUDE的区别? 动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    一个“.java”原文件中是否可以包括多个(不是内部)? 53.掌握内部和接口的概念 54.StringTokenizer的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? ...
  • 二、标准的java实体映射肯定是需要的 1:这第一个注解:@DateTimeFormat,就是指定这个时间格式,这个与上述的datetime还是有一点关系的,可以自己百度,尝试一下别的 2:关键是第二个注解:@TableField,相当于...
  • 而通常的内部类需要在外部类实例化后才能实例化。 25、JSP中动态INCLUDE与静态INCLUDE的区别?  动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态...
  • 三:开始敲代码:前言:0:思路分析1:创建一个HttpClientUtils 来封装一些参数2:查看了 获取到的table 里面信息 创建一个 实体类:3:开始写controller 代码:四:验证 前言 对本文章出现的代码不是很了解的可以...
  • 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
  • 这个知识在以后也是经常用的,所以需要注意 1.加载驱动 2.创建对象 3.写sql语句 4.得到statement对象 5.执行sql得到结果集 6.处理结果集 7.关闭连接 【这些代码在后续的代码部分也会使用】 软件分层开发 bean:实体...
  • Javashop开发规范V2.2

    2012-08-21 00:13:09
    在一些挂件中或某些特殊情况,可以直接需要直接声明baseDaoSupport 此种操作示例: com.enation.javashop.core.service.impl.batchimport.GoodsSpecImporter 注意事项:见【BaseDaoSupport的意义和存在的问题】 ...
  • Java面试宝典2010版

    2013-12-19 19:32:29
    1、一个".java"源文件中是否可以包括多个(不是内部)?有什么限制?..... 7 2、Java有没有goto?.......................................................................................... 7 3、说说&和&...
  • java-servlet-api.doc

    2009-10-13 19:34:17
    Servlet引擎利用Java类载入工具载入一个Servlet,Servlet引擎可以从一个本地的文件系统、一个远程的文件系统以及网络载入Servlet。 Servlet的初始化 Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化...
  • day01_eesy_01mybatis.zip

    2020-05-31 12:17:47
    第二步:创建实体类和dao接口 第三步:创建Mybatis的主配置文件 sqlMapConfig.xml 第四步:创建映射配置文件 IUserDao.xml 环境搭建的注意事项: 第一个:创建IUserDao.xml 和 IUserDao.java 时名称...
  • Java中的四大引用 1. 强引用(StrongReference) 我们平常使用new操作符来创建的对象就是强引用对象,只要有一个引用...还有,这里的StrongReference只是一个对强引用的称呼,在java中并没有对应的实体类。 2. 软.
  • java Io流共涉及40多个,这些看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java Io流的40多个都是从如下4个抽象基类中派生出来的。 InputStream/Reader: 所有的输入流的基类,前者是...
  • 二十三种设计模式【PDF版】

    热门讨论 2011-05-30 14:13:49
    设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...
  • 抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。 41.构造器Constructor是否可被override? 答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

创建java实体类需要注意什么

java 订阅