当前位置: 首页 > news >正文

秦皇岛做网站的公司站长工具seo综合查询推广

秦皇岛做网站的公司,站长工具seo综合查询推广,ps软件网站有哪些功能,网站开发技术 下载目录 简略版: 详解版: 使用场景: 内部类的优点: 内部类的分类: 一. 成员内部类 1.创建对象 2.访问方法 3. 外部类名.this. 二. 静态内部类 1. 创建对象 2. 访问特点 三. 局部内部类 四. 匿名内部类 …

目录

 简略版:

 详解版:      

 使用场景:

内部类的优点:

内部类的分类:

一. 成员内部类

1.创建对象

2.访问方法

 3. 外部类名.this. 

二. 静态内部类

1. 创建对象

2. 访问特点

三. 局部内部类

四. 匿名内部类

1. 格式:

2. 作用:

3. 本质:

4. 使用场景


 

 简略版:

1.简述:ava的类中有五大组成部分,分别是:成员变量,成员方法,构造函数(构造器),代码块,内部类;大多数情况下,类与类之间在位置上是平行的,独立的,而内部类是在一个类中添加另一个类,相当于类的“嵌套”。

2.使用场景:一个类中包含另一个事物,该事物也有自己的方法和属性,我们就可以将它定义为内部类;

3.优点:隐藏程序的细节和内部结构,提高程序的封装性;使结构看起来更加优美且合理;

4.分类:根据内部类的位置,我们分为静态内部类,成员内部类,局部内部类,匿名内部类;

 

详解版:      

        java的类中有五大组成部分,分别是:成员变量,成员方法,构造函数(构造器),代码块,内部类; 

        今天就讲讲内部类。大多数情况下,类与类之间在位置上是平行的,独立的,而内部类是在一个类中添加另一个类,相当于类的“嵌套”。

 使用场景:

        一个类中包含另一个事物,该事物也有自己的方法和属性,我们就可以将它定义为内部类;

如下代码所以,定义了一个汽车类,“嵌套”了一个引擎类,该类也有自己的的方法和属性;

class Motor{//汽车类class Engine{//发动机类String size;//发动机型号public void spin(){//发动机的行为/作用System.out.println("转速很快的");}}
}

而这种内部类的创建,就没有任何意义,因为Weight类没有自己的方法和行为 ;

class Animal{//定义一个动物类class Weight{//“嵌套”一个重量类}
}

内部类的优点:

        隐藏程序的细节和内部结构,提高程序的封装性;使结构看起来更加优美且合理;

内部类的分类:

        根据内部类的位置,我们分为静态内部类,成员内部类,局部内部类,匿名内部类;

        一般类该有的,内部类也都有,比如成员变量,成员方法,构造器等。

        下面的代码可以辅助理解;

class A{int b=10;//成员变量class B{};//成员内部类,与成员变量统一等级static int c=10;//静态变量static class C{};//静态内部类void method(){int d=7;//局部变量class D{};//局部内部类}
}

        内部类与成员变量,成员方法同等级:

        对于非静态内部类,其作用与成员变量,成员方法相同;由于是非静态的,所以需要使用类的对象才能调用,所以创建内部类的对象不同于创建普通类的;

public class OuterClass {//成员变量String name;//成员方法public void play(){System.out.println("这是外部类的方法");}//内部累;与成员变量,成员方法同等级class InnerClass{int age;public void eat(){System.out.println("这是内部类的方法");}}public static void main(String[] args) {OuterClass o=new OuterClass();o.play();OuterClass.InnerClass i=o.new InnerClass();i.eat();}
}
这是外部类的方法
这是内部类的方法进程已结束,退出代码0

        见名知意,通过类的名字我们知道,不同的类所处范围不同,作用范围不同,这就是不同内部类的本质区别;

一. 成员内部类

         与类的成员变量,成员方法所处等级相同,且在使用时,与类的成员变量,成员方法使用也相同,需要先创建类的对象,再进行调用;

1.创建对象

 外部类名.内部类名 对象名 = new 外部类名(). new 内部类名();

 Outer1.Inner i=new Outer1().new Inner();//内部类对象的创建

 

2.访问方法

         内部类实例方法直接使用其外部类实例/静态成员,实例成员即 无static 修饰的方法或属性,静态成员即 static 修饰的方法或成员;

void inner(){//这是内部类的无实例方法int a=10;//内部类局部方法System.out.println(a);System.out.println(this.a);//内部类成员变量System.out.println(Outer1.this.a);//外部类成员变量,外部类名 点 this 点 变量名}

 

 3. 外部类名.this. 

System.out.println(Outer1.this.a);//外部类成员变量,外部类名 点 this 点 变量名

 

        下面的代码将给予说明:

public class Outer1 {int a=100;void outer(){System.out.println("这是方法!");}class Inner{int a=50;void inner(){int a=10;System.out.println(a);System.out.println(this.a);System.out.println(Outer1.this.a);//直接使用外部类成员变量}public static void main(String[] args) {Outer1.Inner i=new Outer1().new Inner();//内部类对象的创建i.inner();}}
}

二. 静态内部类

        在成员内部类的基础上,被关键字static修饰;

1. 创建对象

外部类名.内部类名 对象名 =  new 外部类名.内部类名();

Outer2.Inner i=new Outer2.Inner();//内部类对象的创建

 

2. 访问特点

        内部类的实例化方法可以直接访问外部类静态成员,不能直接访问外部类实例化成员;

 void inner(){//这是内部类的无实例方法// System.out.println(a);//不可以直接访问外部类的静态成员System.out.println(b);//可以直接访问外部类的静态成员}

 

         下面将给予代码进行说明:

class Outer2 {int a=100;static int b=200;//外部类静态成员变量static class Inner{//静态内部类void inner(){//这是内部类的无实例方法// System.out.println(a);//不可以直接访问外部类的静态成员System.out.println(b);//可以直接访问外部类的静态成员}public static void main(String[] args) {Outer2.Inner i=new Outer2.Inner();//内部类对象的创建i.inner();}}
}

 

三. 局部内部类

        与局部方法的位置相同,定义在方法体中;该内部类几乎用不到,了解即可;

class Outer3{void inner(){//这是外部类的方法class Inner{//内部类int a=19;void play(){System.out.println("这是内部类的方法");}}Inner i=new Inner();//内部类的对象创建i.play();}public static void main(String[] args) {Outer3 out= new Outer3();out.inner();}
}

. 匿名内部类

        匿名内部类是一种i特殊的局部内部类;匿名,是指该类没有名字;

1. 格式:

                new 抽象类/接口名(){

                        重写抽象方法;

              }

2. 作用:

        匿名内部类是抽象类/接口的子类,使用它可以不需要写实现类,直接调用接口,降低代码的冗余性;

 下面将给予代码进行说明:

class S{public static void main(String[] args) {//new Inter() {//new出来的是接口的实现类对象,相当于创建对象的等号右边,而左边是名字,这里没有,即匿名Inter i=new Inter(){//也可以使用多态接收该实现类对象,这里不是创建接口对象,接口不能创建对象@Overridepublic int sum(int x, int y) {//重写方法return x+y;}};//注意这里的分号,毕竟是new对象int a=i.sum(10,50);//调用方法System.out.println(a);}}
//接口
interface Inter{int sum(int x,int y);//抽象方法,public abstract 可以省略不写
}

 

3. 本质:

        其本身就是接口/抽象类的实现类对象;

4. 使用场景

        在开发中,匿名内部类作为方法的参数进行传输;

 下面将给予代码进行说明:

        程序从main方法开始执行,调用含参成员方法UseInter,将参数,即内部类(内部类实质就是接口/抽象类子类对像)传入成员方法的有参变量inter,调用内部类中的重写的接口的sum方法;

class S{//方法的参数如果是一个接口,调用此方法需要传入该接口的实现类对象static void UseInter(Inter inter){//成员方法int a=inter.sum(10,30);System.out.println(a);}public static void main(String[] args) {//调用方法,相当于UseInter(a),,a即内部类,匿名内部类本质是实现类的对象//因为UserInter方法的参数是一个接口,调用此方法需要传入该接口的实现类对象UseInter(new Inter(){@Overridepublic int sum(int x, int y) {//重写方法return x+y;}});}
}
//接口
interface Inter{int sum(int x,int y);//抽象方法,public abstract 可以省略不写
}

http://www.tj-hxxt.cn/news/15209.html

相关文章:

  • 自己怎么用h5做网站环球网广东疫情最新消息
  • 做博客网站赚钱吗手机百度app下载安装
  • 做网站可以参考的网站宁波网站推广平台效果好
  • 安装wordpress插件关键词优化推广排名多少钱
  • 辽宁沈阳疫情最新消息邯郸seo
  • 网站建设需要实现哪些目标沈阳seo按天计费
  • 宿州企业网站推广windows优化工具
  • 怎么在工商局网站做股东变更长沙有实力的关键词优化价格
  • 网上做问卷调查赚钱哪些网站好西安关键词排名软件
  • 做网站准备什么问题免费发广告的软件
  • 电子商务网站建设报告国际新闻
  • 丰台企业网站建设脚本外链平台
  • 风景网页制作模板淘宝怎么优化关键词步骤
  • 青白江建设局网站鹤壁网络推广哪家好
  • 专业做网站公司 前景长沙百度提升排名
  • 济南专业做公司网站的机构网站百度百科
  • 家居网站建设公司排名网站建设的意义和作用
  • 重庆网站公司设计aso优化方案
  • 网站建设过程中的需求分析湖南做网站的公司
  • 网站建设合同验收百度经验实用生活指南
  • 大型企业网站建设日本今日新闻头条
  • 不是用于制作网页的软件网站关键词排名seo
  • 微信微网站模板下载百度后台推广登录
  • 自己做网站seo优化谷歌seo 优化
  • 优惠券网站怎么搭建便宜的seo网络营销推广
  • 网站建设比较合理的流程站外推广方式
  • 国外网站流量查询排名优化公司哪家好
  • 简单的企业网站模板搜索网络如何制造
  • 搭建网站不用服务器吗百度一键优化
  • 巨鹿建设银行网站首页制作一个网站的全过程