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

响应式外贸建站贵州中英文网站制作

响应式外贸建站,贵州中英文网站制作,宁德网站建设公司,用asp做宠物网站页面什么是内部类#xff1f; 为什么要学习内部类#xff1f; 可以发现#xff0c;发动机虽然跟汽车相关#xff0c;但发动机不像车龄或颜色一样#xff0c;只用一个变量就可以描述#xff0c;而是要有发动机品牌#xff0c;发动机年限#xff0c;多个变量描述发动机。那么…什么是内部类 为什么要学习内部类 可以发现发动机虽然跟汽车相关但发动机不像车龄或颜色一样只用一个变量就可以描述而是要有发动机品牌发动机年限多个变量描述发动机。那么这样写Car类是不合适的 所以要用上内部类描述发动机 内部类的访问特点 1.内部类可以直接访问外部类包括私有 2.外部类要访问内部类必须创建对象 这里的this指针用法要复习一下 如果Car.this没写this.carName直接写成carName也是没错的因为就算不写编译器也会自动添加this关键字。这个过程被称为隐式引用。 内部类的分类 成员内部类 举个例子 可以看到我们把内部类理解当成成员属性就好了。 1.成员内部类的修饰符 着重介绍一个private修饰成员内部类怎么理解呢 把他当成成员变量一样就好了。即只能在类内Car类里访问只能在外部类内实例化对象(比如说第二个红框的位置)外部类以外是操作不到的 那如果用static修饰成员内部类呢实际上这就叫静态内部类了后面会介绍 2.获取成员内部类的对象 实例化方法1 class Outer{class Inner{;}}public class Main {public static void main(String[] args) {Outer o new Outer();Outer.Inner io1 o.new Inner();//可以简写成这样Outer.Inner io2 new Outer().new Inner();} } 实例化方法2 如果成员内部类是私有的外部就访问不到了就不能用方法1来实例化对象 要怎么改呢写一个对外提供内部类的方法 class Outer{private class Inner{;}public Inner getInner() {//对外提供Innerreturn new Inner();}} 如何接收呢 这样是错的 下面是对的 或者直接使用也可以。此处打印的是地址 静态内部类 1注意静态内部类只能访问外部类中的静态变量和静态方法如果想要访问非静态的需要创建对象。 2创建静态内部类的格式外部类名.内部类名 对象名 new 外部类名.内部类名。因为是静态的所以就不用先创建一个外部类对象再创建内部类。 如何调用静态内部类中的方法 3调用非静态方法的格式先创建内部类的对象用对象调用 4调用静态方法的格式外部类名.内部类名.方法名 只要是静态的东西都可以用类名点直接获取 对于1 class Outer{int a 10;static int b 20;static class Inner{public void show1() {System.out.println(new Outer().a);//此时是报错的因为不能直接访问非静态的变量System.out.println(b);//但是b可以因为b是静态的}static public void show2() {System.out.println(new Outer().a);System.out.println(b);}}}public class Main {public static void main(String[] args){Outer o new Outer();Outer.Inner io new Outer.Inner();io.show1();Outer.Inner.show2();}} 局部内部类 1将内部类定义在方法里就叫局部内部类类似与方法里的局部变量 2外界是无法直接使用的要在方法内部创建并调用。 3该类可以直接访问外部类的成员也可以访问方法内的局部变量 class Outer{int a 10;void show() {int b 20;class Inner{//注意把局部内部类当成局部变量就行了//public等修饰符不能修饰局部变量那么也不能修饰局部内部类public void test1() {System.out.println(a);System.out.println(b);}}Inner i new Inner();i.test1();}}public class Main {public static void main(String[] args){Outer o new Outer();o.show();}} 匿名内部类 怎么写匿名内部类 interface Swim{public void swim(); }abstract class Animal{abstract void eat(); }public class Solve {public static void main(String[] args) {//编写匿名内部类代码new Swim(){//Swim是接口这里是实现关系public void swim() {System.out.println(重写swim);}};new Animal() {//Animal是类这里是继承关系Overridevoid eat() {// TODO Auto-generated method stubSystem.out.println(重写eat);}};}} 进一步了解什么是匿名内部类 实际上红圈内的内容才是匿名内部类因为它是没有名字的。 而蓝圈在做的是是创建一个匿名内部类 为什么要学习匿名内部类 class Animal{void shout() {} } class Dog extends Animal{Overridevoid shout() {// TODO Auto-generated method stubSystem.out.println(dog is barking);}}public class Main {public static void method(Animal a) {//多态a.shout();}public static void main(String[] args){//假设我们现在要调用method函数实现dog的行为该怎么办呢//以前的方法//创建一个狗的类实例化一个狗的类类内重写方法Dog d new Dog();method(d);//以前的方法有点麻烦因为如果我们只需要使用一次dog那么单独再写一个Dog类就太麻烦了//所以可以用匿名内部类用完一次就丢。//跟以前的办法相比这个只要重写并创建匿名对象就行了method(new Animal(){void shout() {System.out.println(dog2 is barking);}});} } 匿名内部类的一些实用小技巧 1.创建的对象可以被接收 class Animal{void shout() {} }public class Main {public static void method(Animal a) {//多态a.shout();}public static void main(String[] args){//我们知道new Animal()其实是创建对象的过程只不过是匿名的//那么我们可不可以用一个对象来接收呢可以//那这样有什么好处呢//这样我们就不用单独再写一个Dog类省去了不必要的类//而且调用比上一段代码更灵活个人感觉Animal a new Animal(){//注意因为经过重写所以实际上是创建了一个子类的对象//但这里用父类的对象接收所以这里也是多态void shout() {System.out.println(dog is barking);}};method(a);method(a);method(a);//...//想用几次就用几次代码比上一段简洁一些} } 2.直接调用方法 public class Main {public static void main(String[] args){ new Animal(){void shout() {System.out.println(dog is barking);}}.shout();//还可以这样去调用方法} } 小结
http://www.yutouwan.com/news/322490/

相关文章:

  • 营销型企业网站测评表wordpress 博客搭建
  • 公司做网站可以永久买断吗苍南最新发布请配合
  • 为什么建设银行网站重庆企业公司网站建设
  • 重庆茂尔建设集团有限公司网站私域营销
  • 苏州建设网站找网络公司常见的网络营销推广方式有哪些
  • 大连能做网站的公司有wordpress微信图片采集
  • 网站制作培训wordpress啥意思
  • 建筑网站设置工资单人换了怎么换淘客网站模板
  • 做产品推广得网站装修网站php源码
  • 网站大全浏览器商业软文代写
  • 学科网站建设如何做好一名销售
  • 中企动力做网站费用张家口北京网站建设
  • html5网站开发实战用python做网站的步骤
  • 网站注册空间wordpress主页 摘要
  • 万维网网站续费绵阳做绵阳做网站网站
  • 优秀设计作品的网站wordpress3.0手机版
  • 莆田有哪几家做网站设计的欧洲applestore
  • 昭通商城网站建设全网热搜关键词排行榜
  • 网站系统后台实时热点新闻事件
  • 家电企业网站模板阳江招聘网最新招聘信息网美容框
  • 厅网站集约化建设新网站建设公司
  • 发布一个网站需要什么网站设计教程
  • 网站的市场如何制作友链交易平台源码
  • 营销型网站的建设起步网络营销案例介绍
  • 网站开发费用周期网站建设兼职招聘
  • 网站定制系统数据处理软件html5网站开发案例视频
  • 网站下载链接打不开营销型网站设计价格
  • 织梦网站程序安装wordpress ip改成域名
  • 建站长沙前端刚上班感觉工作做不了
  • 甜品网站设计思想兔展h5制作