文档章节

Java基础之对象、类、方法

克温s
 克温s
发布于 2015/11/09 22:16
字数 1163
阅读 7
收藏 0

1,整数被0除将会产一个异常;

2,浮点数被0除会得到无穷大或NaN(Not a Number)结果;

3,strictfp关键字采用严格的浮点计算,可能产生溢出;

4,>>>高位用0填充,>>高位用符号填充,没有<<<;

5,x的a次幂,Math.pow(x, a);

6,数值之间的合法转换,实体箭头表示无信息丢失的转换,虚线箭头表示有精度丢失的转换:

7,cast 强制类型转换;

8,equals比较字符串内容,==比较字符存放位置;

9,空串,Null串,if(str != null && str.length !=0);

10,StringBuffer 效率较 StringBuilder低,但StringBuffer允许在多线程环境下执行,如果在单线程环境下执行应该尽量选用StringBuilder。这两种使用方法,效率同样高于String拼接或新建字符串,因为不管是拼接还是新建字符串都是重新new内存空间,String类型值都是不可变的字符串,重新赋值或拼接字符串都是new操作,原来的空间会被回收。

StringBuilder builder = StringBuilder();
builder.append();
String s = builder.toString();
System..println(s);

11,

        Scanner in = new Scanner(System.in);
        System.out.println("what is your name?");
        String name = in.nextLine();
        System.out.println(name);
        
        Console cons = System.console();
        String nameString = cons.readLine("username:");
        char[] pwd = cons.readPassword("passowrd:");

12,jdk5开始printf沿用C语言格式%s,%d,%f占位

System.out.printf("%8.2f", 890.123f);

13,Arrays

14,对象的三个主要特征:行为、状态、标识

15,类之间的关系:

    依赖(uses-a),一个类使用了另外一个类,尽量将这种依赖减少,两个类的改变将会减少bug存在,让类之间的耦合度减小;

    聚合(has-a),类A的对象包含类B的对象;

    继承(is-a)

16,预定义类

    Math只封装了方法,不需要也不必隐藏数据,由于没有数据,因此也不必担心生成对象以始初始化实例域。

17,Date类主要用来表示时间点,GregorianCalendar扩展了Calendar,用于日历

GregorianCalendar now = new GregorianCalendar();
int month = now.get(Calendar.MONTH);
int weeday = now.get(Calendar.DAY_OF_WEEK);

GregorianCalendar clCalendar = new GregorianCalendar();
Date date = clCalendar.getTime();

18,static 静态方法,是一个没有this参数的方法,不能操作对象。只能操作自身类中的静态域。

19,Java总是采用按值调用。也就是说,方法得到的是所有参数值的一个copy,特别是,方法不能修改传递给它的任何参数变量的内容。

    方法参数又分为:

    1)基本数据类型(double,int等),参数存放的是数值,当参数被方法内操作后,原来的值不会发生改变;

    2)对象引用(Employee x),这时候参数存放的是引用值(也就是地址),当传参时,传递的也是地址(类似指针);当参数被方法内操作后,其实操作的都是引用地址中的对象,对象的值都会发生改变。

20,默认域(类变量)初始化:

    如果在构造器中没有显示地给域赋予初值,那么就会自动的赋为默认值:数值为0、布尔值为false、对象引用为null。

21,局部变量与域最大的不同在于,局部变量必须初始化。

22,仅当类没有提供任何构造器的时候,系统才会提供一个默认的构造器。

23,初始化数据域的方法:

    1)在构造器中设置值,

    2)在声明中赋值,

    3)初始化块,这种初始在构造器之前被调用。

class Employee{
    private static int nextId=1;//静态域,只存在一份数据
    private int id;
    private String name;
    //初始化块在构造之前调用
    {
        id=nextId;
        nextId++;
    }
    public Employee(){
    }
    public Employee(String name){//重载
        this.name = name;
    }
}

24, 构造器执行步骤:

    1)所有数据被初始化为默认值,0、false、null

    2)按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块

    3)如果构造器第一行调用了第二个构造器,则执行第二个构造器主体

    4)执行这个构造器主体

25,类的静态域初始化

    1)

private static int nextId=1;

    2)静态块初始化    

private static int nextId;

static{
    Random generator = new Random();
    nextId = generator.nextInt(10000);
}

26,finalize(),在某些对象使用了内存以外的资源时,将其回收和再利用显得十分重要,可以为任何一个类添加finalize方法,这个方法将在垃圾回收器清除对象之前调用,实际中不要完全依赖这个方法被调用,因为很难知道这个方法什么时候会被调用。同时也可以使用Runtime.addShutDowmHook()。建议手动close外部资源,比如connection。

© 著作权归作者所有

克温s
粉丝 2
博文 52
码字总数 19221
作品 0
东城
项目经理
私信 提问
简单的入门Android开发和Java语言基础[图]

简单的入门Android开发和Java语言基础[图] 前言: 去年年底到今年年初,我做过简单的智能家居,也实现过一些简单的直连和远程的智能家居。于是就将最简单的通信发布出来:智能家居简单实现—...

原创小博客
2018/08/04
49
0
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
01 - JavaSE之基础及面向对象

JAVA基础知识 Java 是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门面向 Internet 的高级编程语言。 Java 虚拟机(JVM:Java Virtual Machine) JRE(Java Runtim...

fengdaoting
2018/01/07
0
0
本地方法怎么映射Java层的数据类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyangzhizhou/article/details/79576578 前言 Java 语言上定义了不同的数据类型,比如有基础类型、等等,还...

超人汪小建(seaboat)
2018/03/16
0
0
JVM之动态方法调用:invokedynamic

在本文的前面的姊妹篇中,介绍了Java方法调用的5种操作码中的4种。它们是Java 8和Java 9中方法调用的标准字节码形式。 于是第五个操作码invokedynamic便进入了我们的视线。简单来说,Java 7中...

01/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈Adapter适配器模式

一、前言 适配器模式分为两类,所谓“适配”就是适当的配合或者恰当的配合,想一下电源的适配器,完成的作用是将交流电220V转化成不同的直流电压,来对手机、电脑、台灯等充电,如果没有这些...

青衣霓裳
11分钟前
1
0
Kubernetes+Docker+Istio 容器云实践

随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求。近年来,互联网、移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的...

宜信技术学院
13分钟前
0
0
工作流升级登场,云盒子让文件流转更顺畅

云盒子企业网盘作为深耕企业私有云盘领域的老选手, 深谙企业用户对文档管理的细致化追求, 同时从日积月累的各行各业用户口中,收集产品使用体验和痛点, 将“用户体验”贯穿整个网盘产品的设计...

yhz66
18分钟前
0
0
linux:nohup 不生成 nohup.out的方法

nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 & 关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉...

OSC知行合一
20分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部