Object 类

     性质:【1】是所有类的根类。

              【2】如果一个类没有显示继承另外一个类,那么该类一定继承于Object

 toString() 返回对象的字符串表示形式

         特殊:【1】输出对象时,默认调用toString方法,返回类型@内存地址

          Object obj = new Object();
     // 输出对象时,默认调用toString方法
     System.out.println(obj.toString);

equals(Object obj) 用于判断两个对象是否相等。

    【1】== 比较两个对象的内存地址或基本数据类型的比较,

    【2】object默认equals实现比较内存地址。

    【3】当自定义对象时,要比较自定义对象是否相等,就必须通过equals方法比较两个对象属性值是否相等,那就必须重写Object的equals方法。

    快捷方法

   

内部类  

    在java中,一个文件可以定义多个类,文件名必须和public 类型的类的类名保持一致。编译后 out$info

    在java中,一个类也可以定义在一个类的内部,定义在内部的类称为内部类(inner class),定义在外部的类称为外部类(out class).

特性:内部类可以拥有属性和方法和构造器和块 一般而言,内部类都用默认修饰符 

[1]内部类如何创建对象

      外部类  . 内部类  引用 = new 外部类() .  new  内部类();

       或者先创建一个外部类

          外部类   外部类的引用 = new 外部类  ();
内部类 引用 = 外部类的引用 . new 内部类();     

       [2] 内部类中可以访问外部类的私有变量

public class Outer {

    private String name = "Outer";

    class Inner{

        public void showInfo() {
//访问外部私有变量
System.out.println(name);
} }
}

特殊情况:外部类和内部类的普通变量同名

    class Inner{

        private String name = "Inner";

        public void showInfo() {
String name = "show info"; // 访问内部类的私有成员
System.out.println(this.name); // 访问外部类的私有成员
System.out.println(Outer.this.name); }
}
}  

    【1】 静态内部类创建对象

     
Inner inner = new Outer.Inner(); inner.showInfo();

    【2】静态内部类可以访问外部类的(私有)静态成员

    注意【1】静态内部类访问外部普通成员(非静态成员),需要创建外部一个对象才能访问成员

      【2】特殊情况内部类和外部类定义静态变量名称相同      

            外部类.属性
//内部类访问
内部类.属性
this.属性

      方法内部类

               定义到一个方法中,成为方法内部类

      【1】 方法的局部变量进入方法内部类时,被加final修饰。出了方法内部类后,final被去掉。

      【2】方法内部类拥有属性和方法和构造器和块 一般而言,方法内部类都用默认修饰符

    匿名内部类

      意义:只使用一次,我们可以把类声明为匿名类。匿名类一般和内部类结合使用,形成匿名内部类

            // 方法内部类
/*class Inner implements MyInterface{ @Override
public void showInfo() {
System.out.println("Inner:showInfo");
} }*/ /*Inner inner = new Inner();
inner.showInfo();*/ // new Inner().showInfo(); // 匿名内部类
new MyInterface(){
@Override
public void showInfo() {
System.out.println("Inner:showInfo");
}
}.showInfo();

    

      

最终类object 和内部类的更多相关文章

  1. 包和访问权限修饰符,.单例设计模式,.Object类常用方法,.内部类

    1.包和访问权限修饰符 1.1 包 为什么要导包? 将字节码文件(.class)文件进行分类存放 --->包 其实就是文件夹 import java.util.Arrays; 包的划分规则 方案 ...

  2. java的eclipse操作和常用类Object的使用

    1.eclipse的快捷键: (1)alt + /   内容辅助. 如:main+alt + / 会出现完整的main方法. syso+alt+ / 会输出. 如编写某个方法时,只需写入方法名 + a ...

  3. Java的常用类——Object类、String类

    Java的JDK中提供给我们很多封装好的类就是Java API,可以直接调用. Java 的API(API: Application(应用) Programming(程序) Interface(接口) ...

  4. JAVA 一个特殊的类 Object

    一个特殊的类Object:它是java中所有对象的直接或间接父类,根父类(基类),它里面定义的功能是所有对象都应该具备的(所有的类,都是继承这个类的) 记住:当定义一个新类时,没有指明要继承某类,它默 ...

  5. Scala的类中定义内部类实战

    scala独特之处在于可以在类中定义内部类,起到对外屏蔽作用. 类中默认都是public权限.后面将讲解如何引入接口,scala中的接口与java点区别.特质/接口(Trait)

  6. Day06(类包、内部类)

    在static静态方法中能直接调用的方法只能是静态方法.要想调用其它非静态方法,需要借助对象. 类包:是Java提供的一种管理类文件的机制.可以解决类名冲突问题,在开发庞大应用程序时帮助开发人员管理庞 ...

  7. php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

    1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一 ...

  8. Java常用类object详解

    1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...

  9. python 类(object)的内置函数

    python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...

随机推荐

  1. 基于spring boot 和MDC实现 同一笔记录的日志跟踪实现--1.filter

    同一个项目中,一般包含controller/servlet.service.dao等.1笔记录的日志贯穿于controller.service.dao中,在并发情况下,那如何找出该笔日志? 可通过以下 ...

  2. 基于wireshark抓包分析TCP的三次握手

    1. TCP的三次握手 在TCP/IP协议通讯过程中,采用三次握手建立连接,从而保证连接的安全可靠. 所有基于TCP的通信都需要以两台主机的握手开始.这个握手过程主要是希望能达到以下不同的目的.[1] ...

  3. ubuntu14.04&matlab2015b 测试caffe的Matlab接口

    Step1: 修改caffe-master中的Makefile.config 提示:可以到文件中直接“ctrl+f”,键入相应大写字母即可查找到相应位置. Step2:编译接口.如果之前编译caffe ...

  4. PHP、thinkPHP5.0开发网站文件管理功能(三)编辑文件

    public function edit(){ $file = iconv('UTF-8','GB2312',urldecode(input('file'))); if(empty($file)|| ...

  5. php数组·的方法1-数组的操作

    //range() 创建一个含指定范围的数组 可设置间隔 var_dump(range(1, 9, 2)); echo '<br>'; //array_combine() 合并两个数组创建 ...

  6. OS---存储器

    1.存储器的层次结构 1.1 概述 理想情况下,存储器应当速度非常快.并且与处理器的速度匹配.容量大且价格低廉: 实际情况,无法满足上述三个条件: 于是在现在OS中,存储器采用  层次结构  来组织: ...

  7. javascript判断input框只能输入数字的方法

    javascript 只允许输入数字有很多方法,总结如下 1,只允许输入数字和小数点. <input onKeypress="return (/[\d.]/.test(String.f ...

  8. C语言有GetOpenFile吗?

    windows中有个GetOpenFile的函数,就是上面那个啦!!我们怎么来实现呢?要我用C语言写出来我真的跪了..但是我们可以输入文件的[绝对路径],配合fopen函数来实现的.. 注意问题 ①文 ...

  9. Java学生管理系统(连接数据库查询)超详细

    这几天逼着交Java,借鉴各位师傅的做出来这么个简陋的东西,各位大师傅不要笑我.(学都没有学过Java的我,QAQ~) 下面针对的都是SQL Server系列的连接,如果你使用MySQL那么不必看关于 ...

  10. 连接MySql的时候报1130的错误解决办法

    部署了一个 数据库采用Mysql的程序,sqlyog连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误,ERROR 1130: Host 192.168.3.100 is not ...