java吧 关注:1,288,879贴子:12,817,645
  • 45回复贴,共1

成员内部类,直接new就可以调用内部类的方法吗

只看楼主收藏回复

对于成员内部类,在外部类直接new就可以调用内部类的方法吗,不用点吗?
我也看spring-jdbc在执行sql语句的方法中最后总有一个new内部类,怎么回事啊?急急急,求求大神了


IP属地:北京来自iPhone客户端1楼2017-05-23 23:15回复


    IP属地:北京来自iPhone客户端2楼2017-05-23 23:46
    回复
      2025-11-24 16:54:58
      广告
      不感兴趣
      开通SVIP免广告
      外部类.内部类 变量名 = new 外部类().new 内部类()
         你好像瘦了,头发也变长了, 背影陌生到让我觉得,见你是上个世纪的事, 然后你开口叫我名字,我就想笑, 好像自己刚刚放学,只在楼门口等了你五分钟而已。
         --来自助手版贴吧客户端


      IP属地:浙江来自Android客户端3楼2017-05-23 23:58
      收起回复
        package dao;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.util.List;
        import javax.annotation.Resource;
        import org.springframework.dao.EmptyResultDataAccessException;
        import org.springframework.jdbc.core.JdbcTemplate;
        import org.springframework.jdbc.core.RowMapper;
        import org.springframework.stereotype.Repository;
        import entity.Employee;
        @Repository("employeeDAO")
        public class EmployeeDAO {
        @Resource(name="jt")
        private JdbcTemplate jt;
        public void save(Employee e){
        String sql="insert into eee_wjn values(eee_seq_wjn.nextval,?,?,?)";
        Object[]args={e.getName(),e.getSalary(),e.getAge()};
        jt.update(sql,args);
        }
        public List<Employee>findAll(){
        String sql="select * from eee_wjn";
        return jt.query(sql,new EmpRowMapper());
        }
        public Employee findById(int id){
        String sql="select * from eee_wjn where id=?";
        Object[] args={id};
        Employee e=null;
        try{
        e=jt.queryForObject(sql, args,new EmpRowMapper());
        }catch(EmptyResultDataAccessException e1){
        //没有找到
        e1.printStackTrace();
        }
        return e;
        }
        public void modify(Employee e){
        String sql="update eee_wjn set name=? ,salary=?,age=? where id=? ";
        Object[]args={e.getName(),e.getSalary(),e.getAge(),e.getId()};
        jt.update(sql,args);
        }
        public void delete(int id){
        String sql="delete from eee_wjn where id=?";
        Object [] args={id};
        jt.update(sql,args);
        }
        /**
        * 告诉JdbcTemplate,如何处理ResultSet
        * @author soft01
        *
        */
        class EmpRowMapper implements RowMapper<Employee>{
        /*
        * index:正在被处理的记录的下标(从0开始)
        */
        public Employee mapRow(ResultSet rs, int index) throws SQLException {
        Employee e=new Employee();
        e.setId(rs.getInt("id"));
        e.setName(rs.getString("name"));
        e.setAge(rs.getInt("age"));
        e.setSalary(rs.getDouble("salary"));
        return e;
        }
        }
        }


        IP属地:北京来自iPhone客户端4楼2017-05-24 00:18
        回复
          this 指向当前对象,这里省略了而已


          IP属地:湖北来自Android客户端6楼2017-05-24 01:14
          收起回复
            连我这个没学过的都知道
            这个类实现了一个接口,如果是其他类型外部函数应该无法访问
            要是不new不点就能调用不相关的类成员 那要两个东西干甚


            IP属地:上海7楼2017-05-24 02:09
            收起回复
              求求你们了


              IP属地:北京来自iPhone客户端8楼2017-05-24 14:20
              回复
                我是真不明白啊


                IP属地:北京来自iPhone客户端9楼2017-05-24 14:21
                回复
                  2025-11-24 16:48:58
                  广告
                  不感兴趣
                  开通SVIP免广告
                  根本看不懂你们在说些什么


                  IP属地:山东10楼2017-05-24 20:20
                  回复
                    interface AA{
                    public int AAAA(int i);
                    }
                    class CCC{//外部类
                    void fun(AA a){//外部类方法
                    a.AAAA(12345);//都说点在外面
                    }
                    }
                    你的类{
                    class B implements AA{//内部类 实现上面的AA接口
                    public void AAAA(int i){return i*i;};
                    }
                    你的某函数{
                    ....
                    CCC c=new CCC();
                    return c.fun(new B());<<<===你的return
                    }
                    }
                    没写过这种,但愿没错,你是想问这个吧


                    IP属地:上海11楼2017-05-25 00:09
                    收起回复