精华内容
下载资源
问答
  • 子类对象强转父类时能否调用父类方法? package jp; public class Father { private void money(){ System.out.println("i have money"); }; public void moneyopen(){ System.out.println("i ...

    子类对象强转父类时能否调用父类方法?

    package jp;
    
    public class Father {
    
    	private void money(){
    		System.out.println("i have money");
    	};
    	public void moneyopen(){
    		System.out.println("i have a lot of money");
    	};
    
    }
    
    先定义一个Father类,里面定义俩个不同权限的方法。
    
    package jp;
    
    public class Son extends Father{
    
    	private void play(){
    		System.out.println("i can play");
    	};
    
    	public void playopen()
    	{
    		System.out.println("我也能玩");
    	};
    }
    

    然后在定义一个子类继承父类,同上,下面来看结果。

    可以看到,当son转成father,结果fa只能调用father的public方法。
    反过来把father转成son,son1可以调用father和son的public方法,Son和father的private方法也不可以用。

    楼主是刚刚学习java的菜鸟,如果还有什么不足的地方,可以在留言板留言一起讨论。希望这个帖子能对刚学习的朋友有点帮助。
    在这里

    展开全文
  • 对象强转list

    2020-07-29 12:40:02
    public static <T> List<T> castList(Object obj, Class<T> clazz){ List<T> result = new ArrayList<T>(); if(obj instanceof List<?>) { for (Object o : (List<... ...
        public static <T> List<T> castList(Object obj, Class<T> clazz){
            List<T> result = new ArrayList<T>();
            if(obj instanceof List<?>)
            {
                for (Object o : (List<?>) obj)
                {
                    result.add(clazz.cast(o));
                }
                return result;
            }
            return null;
        }

     

    展开全文
  • 调用feign api接口对象强转 java.util.LinkedHashMap cannot be cast to 这个报错是因为在定义接口返回值的时候没有指定类型,解决方法有两种 接口指定返回值类型,如下所示: RpcResult<AssetEnableRes> ...

    调用feign api接口对象强转 java.util.LinkedHashMap cannot be cast to

    这个报错是因为在定义接口返回值的时候没有指定类型,解决方法有两种

    • 接口指定返回值类型(这个方法比较好),如下所示:
     RpcResult<AssetEnableRes> getAssetValue(@RequestBody AssetEnableReq freezeAssetReq);
    
    • 强制的时候,先将对象转换成JSON字符串,在通过JSON转换成对象
    JSONObject jsonObject=JSONObject.fromObject(objectStr);
    AssetEnableRes per = (AssetEnableRes)JSONObject.toBean(jsonObject, AssetEnableRes); 
    
    展开全文
  • 搞了半天发现是get和set方法忘写了,一直用@Data注解,今天写注释的时候不小心删了,查了半天仔细看代码才发现</p>
  • 最近在论坛上看到有网友问到C#中对象强转的问题,自己虽然接触过C#,但对这个特性还是第一次接触,所以这里找到一些资料与大家一起分享。 一、代码 class Program { static void Main(string[] args) {

     

    转载请标明是引用于 http://blog.csdn.net/chenyujing1234

    有补充的,请大家指出!

     

     

    最近在论坛上看到有网友问到C#中对象强转的问题,自己虽然接触过C#,但对这个特性还是第一次接触,所以这里找到一些资料与大家一起分享。

    一、代码
    class Program
    {
      static void Main(string[] args)
      {
      A a = new A();
      B b =new B();
      b.a = 300;
      b.b = 20;
      B e = a.Clone() as B;//这里会运行错误 但是变成b.clone() as B 就会正常
      System.Console.WriteLine(e.a);
      }
    }
    
    public class A : ICloneable   
    {
      public A()
      {
        
      }
    
      public int a=200;
    
      #region ICloneable 成员
      public virtual object Clone()
      {
      	return MemberwiseClone();
      }
      #endregion
    
    }
    
    public class B:A
    {
      public int b = 10;
    
      public B():base()
      {
        
      }
      public override object Clone()
      {
      	B c= base.Clone() as B;//为什么这里可以把基类变成派生类?????????
      	c.b = 100;
      	return c;
      }
    }


    二、解释

    1、解释“B e = a.Clone() as B;//这里会运行错误 但是变成b.clone() as B 就会正常”

    你实例化是二个对象,而父类中没有关于子类的对象相关的内存,无法转

    这段代码代码的分析很简单:
    a.Clone()得到的仍然是一个A类型的对象。A是基类,没有B类的内存,所以基类是无法强制转换成派生类的。
    b.Clone()得到的就B类型的对象了。所以可以AS B。

    给你一个例子:

    A a = new A();
    B b = new B();
    A a2 = b; //这是可以的。
    B b2 = a2 as B; //这种强制转换也是可以成功的。


    2、解释“B c= base.Clone() as B;//为什么这里可以把基类变成派生类????????? ”

    这是因为你实例化的对象本身就是B,B相当包含A存在.所以可以转。

     


    变量a不论你声明为什么类型,它指向一个A类对象。变量b不论你声明什么类型,它指向一个B类对象。不是说“可以把基类变成派生类”这种把类型类型和对象本身混淆起来,而是对象b既“是”A类对象也“是”B类对象,也就是说
      if(b is A && b is B)
      return true;
    你可以试试看,这返回true。

    展开全文
  • Class<Studert> studertClass = Studert.class; Object studert = new Studert("71", "张7", 16, "北京是"); Studert cast = studertClass.cast(studert); System.out.println(cast);
  • 这几天在恶补正则表达式,今天刚好遇到一个小需求,大致就对象属性转成数据表字段的名字:也就是userName ---> user_name,很简单的替换,不会用java的正则表达式,耽误了一会时间。package com.elite.isun.utils;...
  • 如果request对象所属类实现了HttpServletRequest接口得到的方法将会更多 提问1:参数里边request对象是ServletRequest接口的实例吗? 答:不是,这里只是引用 提问2:向上转型常见,这里怎么向下转型? 答:1....
  • // 获取所有该对象的属性值 Field fields[] = classz.getDeclaredFields(); // 遍历属性值,取得所有属性为 null 值的 for (Field field : fields) { try { Type t = field.getGenericType(); if (!t.toString()....
  • 多文件上传出现对象强转异常.

    千次阅读 2018-05-23 10:12:44
    ShiroHttpServletRequest cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest解决方法:将参数中的htppServletRequest 改为MultipartHttpServletRequest就可以转换了....
  • 如果是static_cast,不管对象成不成功,直接使用,所以呢,函数基本是可以用的,因为这些是直接去调用的函数体定义,但是在堆上字段就不知道是什么了,如果是可靠的转换,当然一切都好,但如果不是,字段就全部是乱码...
  • 我正在尝试理解看似类似代码的不同编译结果.似乎可以转换List< Object>到列表< T>但只有在T不受具体类限制的情况下.所以……List bis = new ArrayList&...>();以下在Test<...类中编译.... T extends Bi...
  • 做了如下测试得到的结果是,如果把null强转对象,是不会抛异常的,本身对象是可以为null的。但是如果是基本类型,比如 int i = (Integer)obj的强转,其实内部会调用intvalue方法去赋值给基本类型,所以这时候是会...
  • Springboot项目中,使用redis工具类存储键值对,值为自定义对象时抛出强转异常 抛出异常如下: XxxClass1 cannot be cast to XxxClass2 原因是Redis工具类中的值设置的是Object类型。 只需添加RedisConfig配置类 ...
  • null 强转对象

    2020-09-18 16:34:01
    记录一次null强转对象的情况。 @Test public void test() { Map<String, Object> map = Maps.newHashMap(); A a = (A)map.get("a"); // A a = (A)null; a.a(); a.b(); System.out.println(111); ...
  • SpringBoot从Redis中取对象缓存强转发生ClassCastException异常日志信息代码片段报错原因解决方法 异常日志信息 java.lang.ClassCastException: ...
  • java把String强转对象

    千次阅读 2017-05-06 16:45:35
    java String强转对象
  • 这里主要说的是,不同类对象强转关系。例如有一下两个类 class A { public: int a; int b; A() { a = 1; b = 2; } void printa() { cout } } class B { public: int a; B() { a = 3; } void printa() { cout }
  • java 对象之间的强转

    千次阅读 2019-02-28 09:06:37
    因为在子类对象声明为父类类型后,其实对象的真实意义还是子类对象 Test a=new Test(); Test b=new TestExtend(); System.out.println(a instanceof TestExtend) ; 输出false System.out.println(b ...
  • 当父类中声明某个函数为虚函数,并且子类重载了这个虚函数以后,用父类对象的指针可以调用子类的相应函数,但前提是该指针指向的对象是子类的对象,否则没有意义。 1.新建一个子类对象时,它首先执行它父类的构造...
  • 在 SpringBoot 整合 Shiro 时报错java.lang.ClassCastException: com.chunkit.show_web.entity.User cannot be cast to com.chunkit.show_web.entity.User报异常的句子user = (User)((SimplePrincipalCollection) ...
  • 举例 假设有A,B,C三个类,继承关系如下:A <= B <= C 即,A是基类,派生出B,B派生出C. 列举如下几种,强转情况: ...实例化A,无法将其强转为B和C ...强转失败,意味着可能发生了指针越...
  • 强转

    2019-10-08 18:46:01
    java的强制类型转换  基本类型的转换只能...如果想把一个父类转换成子类,那么这个父类的对象是子类的实例才行。  示例:  有一个double类型的数值d想给转换成long型  double d = 3.141592653;  Long l =...
  • 本文主要介绍了iOS中对象指针和基础数据类型如何进行强转,下面话不多说,直接来看示例详解。 一、对象指针的强转: UIView *view = [UIView new];//new一个UIView类的对象 UILabel *label = (UILabel *)view;//...
  • JAVA反射强转创建对象

    千次阅读 2017-07-26 17:38:57
    public T creatProduct(Class clz) { Api api=null; try { api=(Api) Class.forName(clz.getName()).newInstance(); } catch (InstantiationException | IllegalAccessEx
  • 前端Vue封装结果类,传递对象数据给后端SpringBoot,并强转对象为另一对象第一步Vue封装结果类1.1在某个js文件中进行封装1.2使用第二步编写传递对象数据给后端的函数2.1函数源码第三步后端接口开发3.1导入依赖3.2...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,089
精华内容 435
关键字:

对象强转