怎么用一个对象调用另一个类中对象的方法

怎么用一个对象调用另一个类中对象的方法 比如一个类A
,一个类B,B里面有个方法show(),在main中A a=new A();B b=new B();在A中没有调用B方法的情况下,我想通过a调用B中的show()方法,该怎么实现。初学者,求大神给我指导下,不知道我表达的是否准确

6个回答

首先,确认下你是想在A类的某个方法中调用B类的方法吗?如果是的话,A必须依赖B,依赖方法可以是A类关联一个B类的成员变量,示例代码:

 public class A{
    private B b;
        public void setB(B b){
           this.b = b;
        }

        //A的某个方法调用B的方法
        public void methodA(){
            b.show();//调用B的某个方法
        }
}

也可以A类的方法调用时依赖一个B类型的参数:示例代码:

 public class A{
  //A的某个方法需要一个类型为B的参数
    public void methodA(B b){
       //通过参数B调用B类的方法
        b.show();
    } 
}

这是类与类之间相互关联的两种方式,即组合和依赖;组合,是指某个类中有另一个类的成员变量;依赖,是指某个的类的某个方法参数是另一个类。必须有关联的两个类之间才能调用另一个类的方法的。

cmf191734907
cmf191734907 恩,谢谢大神,明白了
接近 4 年之前 回复
wojiushiwo945you
毕小宝 回复cmf191734907: 要想让a.b.shw()正确,就应该用第一种方法,a类有b类成员,然后提供getB()返回b,就可以a.getB().show()。
接近 4 年之前 回复
wojiushiwo945you
毕小宝 回复cmf191734907: 我给的代码就是你要通过a来调用b的方法,必须让ab有关联才能调用啊。面向对象编程跟现实世界是一样的啊,你直接来个a.b.show()而a又没有关联b,当然不可能了啊
接近 4 年之前 回复
wojiushiwo945you
毕小宝 回复cmf191734907: 为什么会有这样的想法呢?你可以直接new B().show()啊,a,b之间必须有关联才能通过a来调用b啊。
接近 4 年之前 回复
cmf191734907
cmf191734907 我是想在一个新的类里面通过a来调用B的方法,错误的表示a.b.show(),不知道大神能否理解,我就想能不能通过什么格式实现
接近 4 年之前 回复

首先,确认下你是想在A类的某个方法中调用B类的方法吗?如果是的话,A必须依赖B,依赖方法可以是A类关联一个B类的成员变量,示例代码:

 public class A{
    private B b;
        public void setB(B b){
           this.b = b;
        }

        //A的某个方法调用B的方法
        public void methodA(){
            b.show();//调用B的某个方法
        }
}

也可以A类的方法调用时依赖一个B类型的参数:示例代码:

 public class A{
  //A的某个方法需要一个类型为B的参数
    public void methodA(B b){
       //通过参数B调用B类的方法
        b.show();
    } 
}

这是类与类之间相互关联的两种方式,即组合和依赖;组合,是指某个类中有另一个类的成员变量;依赖,是指某个的类的某个方法参数是另一个类。必须有关联的两个类之间才能调用另一个类的方法的。

你的意思是在类A中调用B的方法么?是的话,如果类A,B如果在同一个包内,show()方法没有static修饰,可直接使用b.show();调用这个方法。如果有修饰符static,可直接通过类名B直接调用方法,即B.show(),如果不在同一个包内,则需要给出包名路径。想通过a调用B中的show()方法,只能通过继承,A继承B,让A继承B中的方法,才能用A的对象调用show(),否则不能。

cmf191734907
cmf191734907 我是想在一个新的类里面通过a调B中的方法,直观的错误的a.b.show(),应该怎么写能实现这个想法
接近 4 年之前 回复

创建新对象,调用其方法

在一个对象中持有另一个对象的引用就行了

你可以试试通过a实例化B类来调用B类的方法

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
从一个类里调用实体类的set方法如何在另一个类使用get方法获取这个值
从一个类里调用实体类的set方法如何在另一个类使用get方法获取这个值我调用get方法是又new了一个实体类的对象,因为初始化了结果获取的值是空的。
请问在如何在一个类中调用不同C#脚本中同一命名空间下另一个类中的对象
C#萌新一枚 刚接触不久 问题如题 如何在一个类中调用不同C#脚本中同一命名空间下另一个类中的对象 谢谢各位~
java多线程中的调用另一个类的paintComponent()方法无效
在多线程中,在该类中创建另一个类含有paintComponent()方法的对象, 在线程结束之前调用第二个paintComponent()方法有效可以执行 (即:应该是第一个paintComponent()方法没有执行完毕之前)。 若第一个paintComponent()方法没有执行完毕之后,再执行另一个对象的 paintComponent()方法,就会无效。 为什么呢?怎么解决?
为什么JAVA中一些类用另的一个类的对象来调用?
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegxDemo03 { public static void main(String[] args) { String str = "a-753933" ; String pat ="[abc]-\\d{6}"; Pattern p = Pattern.compile(pat); Matcher m = p.matcher(str); //验证字符串是否合法 if(m.matches()){ System.out.println("格式合格"); }else{ System.out.println("格式不合格"); } } } 感觉有点奇怪,这是一种什么逻辑?直接用一个类来实现不就可以了。具体的像 Pattern p = Pattern.compile(pat); Matcher m = p.matcher(str); //验证字符串是否合法 还有其他一些类,像操作数据库的类也是这样的。 还比如向MySQL的JDBC链接也是这样.比如: Connection con =DriverManager.getConnection(url,username,password); Statement stmt = con.createStatement(); ResultSet rt = stmt.executeQuery(); 我不明白的是为什么需要通过先获得con对象才能通过con对象获得stmt后才能获得rt对象.不明白这种对象的调用原理..新手.才接触java没多久,,希望各位大神能帮忙解惑.说细致点..谢谢..最好能举例说明.. -----------------问答分割线------------------ 昨天提问后.自己从面向对象上找资料复习..然后看到了单例设计模式.因为之前老师在说单例设计模式时一笔带过了..所以印象不深刻..这里给自己的提问做个半总结.因为资料还在看....自我解决问题嘛.. --------------------------------------------- 设计模式:对问题行之有效的解决方式.其实它是一种思想. 1.单例设计模式. 解决的问题:就是可以保证一个类在内存中的对象唯一性. 必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性. 如何保证对象唯一性呢? 1.不允许其他程序用new创建该类对象. 2.在该类创建一个本类实例. 3.对外提供一个方法让其他程序可以获取该对象. 步骤: 1.私有化该类构造函数. 2.通过new在本类中创建一个本类对象 3.定义一个公有的方法,将创建的对象返回. 举个简单的例子: class Single { static Single s = new Single( ); private Single( ){} public static Single getInstance( ) { return s; } } class SingleDemo { public static void main(String[] args) { single ss = single.getInstance( ); } } 私有化构造器,通过类名.方法名调用本类的方法返回s.来得到本类中new出来的对象.这就是昨天所提问的一部分解答..还有一部分问题找答案..为什么需要得到一层再调用一层..我也知道这是一种设计模式..只是想更深入的了解它的设计原理.以及优点.. 谢谢各位耐心的解答..等我完全解决了问题..我再结帖.语言组织能力不是太好,希望这些问题能让与我有同样疑惑的伙伴做个最基础的解惑..非常感谢大家的热心回答及帮助..
关于java对象调用的一个菜鸟级问题
本人新手,币也不够,帮帮忙吧大家。学java不久,遇到这么一个问题:怎么在一个类中调用另一个类的对象获取该对象数据呢?(两个类不在同一个包里)如 包a中有class A{} 和两个对象A a1=new A(); A a2=new A(); 包b中有class B{}。我要在b包中访问a1和a2应该怎么访问呀?要求b包不再生成新的A类对象,且A类不能是单例。
oc 类的继承的实质,以及是怎样调用方法 和函数的
父类里声明的属性,会生成默认生成一个私有的成员变量.即不能被子类访问,那么子类通过继承得到了父类的属性,只能通过setter 和 getter 方法区访问父类的私有变量,那么这个私有变量不属于子类,那么在实例化这个子类的时候就没有这个私有变量,那么通过继承过来的setter 和getter方法访问的是什么,私有变量根本就没有生成啊! 同理在使用{}声明的私有变量同样可以在提供外部接口让外部访问,但是当子类继承后也可以通过生成实例对象,调用继承过来的借口,区给父类赋值,但是父类的私有变量没有被继承,内存之中也没有着个变量,那么子类通过借口访问的是什么? 由此我想搞不懂,,继承到底继承的是什么? 继承的时候使用 #import 引入了父类的头文件,那么子类是把父类的.h 文件之中的东西拷贝到自己的.h文件吗.还是怎么样.那么.m里面的东西呢?(例如.m 里面如果有延展生成的私有变量的话, 子类也是可以继承过来的接口去访问.m里面的私有变量的) 一个类生成实例化对象的话,可以通过自己.h里面的接口,(方法名)去访问.m里面找到对应的方法的实现,执行相应的操作.但是当一个对象实例话的时候在内存空间之中开辟了一块内存空间,系统根据(.h 里面声明的成员变量 以及 .m 的里面的延展属性)将其存储起来,这块内存空间会存储方法的信息吗?(即使方法的实现会存储在代码区).那么怎么知道一个类到底占用多多少内存空间呢? C语言有一个 sizeof 可以检测 OC语言呢? 当实例化一个对象之后,从内存的角度这个对象是没有方法的代码的,他是怎么找到这个代码的实现呢?方法的实现在代码区,就算找到了,这些代码又有可能去操作类的实例成员,但是,这些实例成员又存放在堆区之中,代码区的东西又是怎么去操纵堆区的内容 所以说程序是怎么加载类的这两个文件 .h 与.m 生成这个类对象,这两个文件之中的内容分别存放在哪里,程序在加载的时候有是怎么将这两者联系到一起呢? 当一个程序需要另一个文件的内容的时候,就需要引入这个文件 使用#import 但是当子类继承父类的时候,也需要引入父类的接口文件 .h 文件 怎么样理解#import ,是将相应的文件内容拷贝到子类的接口文件之中吗?这样就可以实现将父类的东西归为子类了吗,这就是继承的实质吗,那么父类的私有成员不是也被继承过来了吗? 方法和函数是怎么实现调用的,他们是通过接口或者方法名在程序运行的时候找到相应的代码? 属性的实质到底是什么,他和 在 花括号声明声明的成员变量有什么区别? 在声明属性和实现属性的时候 @property 和 @synthesize 具体都实现了什么功能. 因为在子类不能 直接使用 _属性名的父类的属性默认生成的实例便量,但是在子类的方法之中使用@synthesize 可以对继承过来的属性进行声明一个_属性名 名字的变量(这个变量到底是父类继承过来的还是在子类新生成的 父类默认生成的成员变量是私有的吗?是的话子类能继承吗,不能继承又怎样访问的.),但是此时通过属性生成的setter 和 getter 访问的变量到底是父类的还是子类新生成的. 当子类拥有这个属性的时候,他会不会也在子类之中生成一个默认的 _属性名的成员变量呢? 子类继承父类的属性,到底继承的是什么? 怎样同继承过来的借口访问父类的方法?在父类没有初始化的时候!!! 继承的实质到底是什么,是把父类头文件里面的内容 什么叫做oc之中没有绝对的私有函数的? 函数和方法到底是怎么调用的?
如何从进程外引用该进程所加载的dll的静态类(已经知道这个进程加载了一些托管类dll,并且还创建了托管对象)?
是这样的,我自己做了一个程序,想从进程外引用另一个在运行中的程序的静态类(已经知道这个程序加载了一些托管类dll,并且还创建了托管对象)。 我尝试了这样一种方法, 就是使用GetProcess方法和Modules属性找到该程序的进程所调用的dll实例,获取它们的入口点地址EntryPointAddress或内存地址BaseAddress,但是获取以后就不知道怎么办了?
一个类如何调用其他包中的类的对象?
在Person类中创建了实例p1,为什么在另一个包中的类ObjectArray无法调用? package Person; import MyDate.MyDate; public class Person { public String name; public MyDate brithdate; public String gender,province,city; private static int count=0; public Person(String name,MyDate brithdate,String gender,String province,String city) { this.set(name,brithdate,gender,province,city); count++; } public Person(String name,MyDate brithdate) { this(name,brithdate,"","",""); } public Person() { this("",new MyDate()); } public Person(Person per) { this(per.name,new MyDate(per.brithdate),per.gender,per.province,per.city); } public void finalize() { System.out.println("释放对象("+this.toString()+")"); Person.count--; } public static void howMany() { System.out.print(Person.count+"个Persond对象,"); } public boolean equals(Object obj) { if (this==obj) return true; if (obj instanceof Person) { Person s = (Person)obj; return super.equals(s) && this.name.equals(s.name) && this.brithdate.equals(s.brithdate) && this.gender.equals(s.gender) && this.province.equals(s.province) && this.city.equals(s.city); } return false; } public void set(String name,MyDate brithdate,String gender,String province,String city) ``` ``` { this.name=name==null?"":name; this.brithdate=brithdate; this.gender=gender==null?"":gender; this.province=province==null?"":province; this.city=city==null?"":city; } public void set(String name,MyDate brithdate) { this.set(name, brithdate,"","",""); } public String toString() { return this.name+","+(this.brithdate==null?"":brithdate.toString())+","+this.gender+ ","+this.province+","+this.city; } public static void main(String[] args) { Person p1=new Person("李小明",new MyDate(1994,3,15)); Person p2=new Person(p1); Person.howMany(); System.out.println(); System.out.println("p1:"+p1+";p2:"+p2+"\np1=p2?"+(p1==p2)+";p1.name==p2.name?" +(p1.name==p2.name)+",p1.brithdate==p2.drithdate?" +(p1.brithdate==p2.brithdate)); p2.name="张"+p2.name.substring(1); MyDate date=p2.brithdate; date.set(date.getYear()+2,date.getMonth(),date.getDay()); System.out.println("p1:"+p1+";p2:"+p2); // p1.finalize(); Person.howMany(); System.out.println(); System.out.println(p2.equals(p1)); } } 以上是person类 package ObjectArray; import MyDate.MyDate; import Student.Student; import Person.Person; public class ObjectArray { public static void print(Object[] objs) { if(objs!=null) for(int i=0;i<objs.length;i++) System.out.println(objs[i]==null?"null":objs[i].toString()); } public static Object[] concat(Object[] objs1,Object[] objs2) { if(objs1==null) return objs2; if(objs2==null) return objs1; Object[] result=new Object[objs1.length+objs2.length]; int i=0,j=0; for(j=0;j<objs1.length;j++) result[i++]=objs1[j]; for(j=0;j<objs2.length;j++) result[i++]=objs2[j]; return result; } public static void searchPrintAll(Object[] objs,Object key) { if(objs!=null&&key!=null) for(int i=0;i<objs.length;i++) if(objs[i]!=null&&key.equals(objs[i])) System.out.println(objs[i].toString()); } public static void main(String[] args) { //Person p1=new Person("李小明",new MyDate(1994,3,15)); Person per=new Person("李小明",new MyDate(1994,3,15)); Person[] pers= {per,new Student(p1,"","计算机","",false)}; Student[] stus= {new Student("张莉",new MyDate(1998,4,5),"","","","","信息管理","",false), new Student("朱红",new MyDate(1995,4,5),"","","","","通信工程","",false)}; Object[] objs=concat(pers,stus); stus[1].brithdate.set(new MyDate(2001,10,1)); print(objs); Person[] keys= {new Person(per),new Student((Student)pers[1])}; for(int i=0;i<keys.length;i++) { System.out.println("查找:"+keys[i].toString()+"结果: "); searchPrintAll(objs,keys[i]); } Student.howMany(); } } 以上是ObjectArray类 Person p1=new Person("李小明",new MyDate(1994,3,15));这条语句不注释掉就不报错,注释了的话 Person[] pers= {per,new Student(p1,"","计算机","",false)};这里面的p1老是报错,仿佛这个p1不存在 ``` ```
在main中调用两个类的对象,其中一个对象的方法包涵了另一个对象的参数,参数标红怎么办呢?
在写一个井字棋游戏,一共三个类:棋盘Chessboard,人Player, 主类Main. 棋盘是一个二维数组,里面有:setarrayvalue(), getarrayvalue(),checkwin(),checkfull()等方法。 1)在Main类调用了(Player player和Chessboard ff),想使用ff.getarrayvalue(m,n),并判断它是否等于1,但是这里m 和n 不对, 应该怎么做?(图一代码标红处) 2)Main类中,我只new了一个Player, 这样可以吗?有的人是new 两个player,并赋值,但是我不知道怎么赋值使用它:。。。 3)棋盘大小,扩展成可以从键盘输入数值,哪里不正确呢?(图二,注释处) 4)如何确保输入数值永远不超过棋盘范围,且只是int,且输入不满足条件的话,能够一直提醒用户重新输入?(图3Player类里的一个方法)注释处,为什么不对呢? 如何确保输入是int,不是字母呢? ![图片说明](https://img-ask.csdn.net/upload/201711/23/1511432954_982026.png) ![图片说明](https://img-ask.csdn.net/upload/201711/23/1511392115_468338.png) ![图片说明](https://img-ask.csdn.net/upload/201711/23/1511393591_564844.png) ------------------------------------- 问题已解决,添加了一个内部类,返回了m,n。 图片代码不全,见谅!
关于类中建立另一个含有其他类对象的对象
class FoodSeller:public Person//这个类要弄到animalfood和money类,创建对象来实施相应操作 class Zoo { public: Zoo(int =0,int=0,int=0,int=0); ~Zoo(); bool judgeStatus(); private: FoodSeller people; AnimalEnclosure ae[3]; }; #endif Zoo::Zoo(int p, int c, int b, int d) ## :people(p, c, b,0)//此处为什么说没有办法进去,这里错误 { } { FoodSeller(int,int,int,int);//调用FoodSeller的函数构造函数。注意形参列表的对应 ~FoodSeller(); void setSellingPea(int); void setSellingCar(int); void setSellingBan(int); void setSellingFood(); int getPeaAmount()const; int getCarAmount()const; int getBanAmount()const; protected: AnimalFood peanuts;//创建AnimalFood的具体卖的对象 AnimalFood carrots; AnimalFood bananas; private: Money earnings; }; #endif 十分紧急求帮忙
一个java文件怎么调用另一个文件的text值
例如我在JAVA文件A里面建了一个方法 public String getUser() { String s1; s1=(String)(user.getText()); return s1; } 然后我想在JAVA文件B里调用user.getText()的值,我是这样写的 public InputCardnum inputcardnum;//这是文件A的名字 创建对象 String a=inputcardnum.getUser(); 可是我执行的时候的时候出现了空指针的错误,据说这个错误可是通过在debug下运行看出错误,问题是我不会在debug下看,所以麻烦具体解答啊!!!!! 错误如下: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
调用线程无法访问对象问题?
现有一段代码形如:if(textbox1="x"){textbox2="y";} 之中textbox1是另外一个线程的,所以采用了dispatcher.Invoke方法,改为:Dispatcher.Invoke(new action(()=>{if(textbox1.Text="x"){textbox2.Text="y";}})) 可是结果又在textbox2.Text="y"这里报错:调用线程无法访问此对象,因为另一个线程拥有该对象。请问这种时候怎么解决?试了一下在里面再加一个Dispatcher.Invoke也没有用。
IOS代理协议方法是如何被调用的?
这几天一直在思考代理的工作原理。代理可以获得事件或数据信息、调用与此信息相关的方法、把信息传给该方法,实现对事件或数据信息的回应。 这里我最大的疑惑是,代理如何把事件与方法对应起来?例如:A对象定义了一组代理协议,B对象作为A的代理,实现了所有的协议方法,当某个事件发生时,A的代理如何知道应该调用哪个协议方法?是根据方法名吗?我怀疑是因为所有代理都继承自NSObject协议,这一组协议可能使代理具有了神奇的功能。 另一个令我疑惑的事情是,自定义代理与现成的代理有什么区别?现成代理,例如UITableViewDelegate,哪个代理方法对应什么事件,手册上都有明确说明;自定义代理呢?我心里想的是,这个代理方法要对某某事件作出反应,可一定会吗? 假如代理的工作模式是:A定义了代理,则在事件发生时(系统认定为事件的),自动找代理,看代理声明了几个方法,然后看这个事件属于哪个方法来处理(关键问题还是在这里,如何确定事件与方法的对应关系?),然后看这个方法有没有被B实现。 望大牛指教!
tornado motor函数调用另一个异步操作Mongo数据库返回值是Future对象
我用motor在tornado框架下来操作mongodb,按照[官方教学文档](http://motor.readthedocs.org/en/stable/tutorial.html)写的结果正常。 ```python >>> @gen.coroutine ... def do_find_one(): ... document = yield db.test_collection.find_one({'i': {'$lt': 2}}) ... print document ... >>> IOLoop.current().run_sync(do_find_one) {u'i': 0, u'_id': ObjectId('...')} ``` 现在我想实现a.py调用b.py,然后在b.py里面用motor操作mongodb,例如是插入数据,然后返回_id给a.py。我的代码是这样写的: a.py ```python from b import testb from tornado import ioloop from tornado import gen class testa(Object): @gen.coroutine def printa(self): tmp = testb() id = tmp.do_insert() print id a = testa() ioloop.IOLoop.current().run_sync(a.printa) ``` b.py ```python from tornado import gen import motor client = motor.MotorClient('localhost', 27017) db = client.testdb class testb(object): @gen.coroutine def do_insert(self): coll = db.testcoll yield coll.find_one({'bookname': 'huihuang'}) ``` 因为testb加了yield,生成器里面不能用return。我这种写法a.py中print出来的是一个`<tornado.concurrent.Future object at 0x7fa83c900e10>`我不知道怎么获得future里面的数据。 哪位大神帮我看看!或者我哪里理解错了
hibernate 临时对象和游离对象的如何辨别
一般说来!游离对象与临时对象的区别在于:前者是由持久化对象转变过来的,因此可能在数据库中还存在对应的记录,而后者在数据库中没有对应的记录。 问题: 当一个对象(有oid)通过方法调用传过来我怎么知道这个对象是游离对象还是临时对象,怎么知道他是否由持久化对象转变而来,怎么知道数据库有没有记录(不可能去查一遍,查的话状态就变成另一种了),谢谢大家!
C# windows from 对另一个页面的static数组的调用
出错label1.Text = Name_shezhi.name[1].ToString(); 未将对象的引用到对象的实例 另一个页面 public static string[] name=new string[1000];
请教怎样根据对象的引用得到包含它的对象的引用呢?
  有了一个对象的引用,怎样可以知道包含它的对象的引用呢?比如对象A包含有对象B,对象B的引用传递给了另一个对象C的方法,那么在对象C的方法里,可以怎样得到对象A的引用呢? 好像在AWT里可以调用getParent()来得到,但我只是用基本的Java语言,没有用任何框架,Java语言本身提不提供这种功能呢? 刚从C语言转到Java,在C语言里很容易就可以通过指针得到了,但Java里怎样做在网上找了很久也没有找到答案,只好在这里向各位牛人求教了。
Java空指针异常
我在一个类中调用另一个类中的方法,传递的参数是一个实体类对象,这个对象有的属性赋值为“”,这样不可以麽?还是所有的属性都必须有确切的值
继承自QObject的子类如何通过类名(字符串)动态创建实例?
如题,我有一个类: ``` class IMessageItem : public QObject { Q_OBJECT private: // ... } ``` </br> 在另一个函数: ``` static IMessageItem *BuildItem(const QString& className); ``` </br>如果还有其他继承自IMessageItem的类,并且想要通过className来创捷一个继承IMessageItem的对象。比如有个类FileItem继承自IMessageItem: ``` class FileItem : public IMessageItem { Q_OBJECT private: // ... } ``` </br>那通过调用 ``` BuildItem(QStringLiteral("FileItem")) ``` 请问函数内部如何实现,才能创建出一个实例? </br>本来我是想通过const int id = QMetaType::type()来创建,但调试发现返回得到的id总是0(QMetaType::UnknownType),所以无法创建实例。
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 另外推荐一篇原创:终极推荐!可能是最适合你的Java学习路线 方法 网站 书籍推荐! Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 进程是程...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
神经⽹络可以计算任何函数的可视化证明
《Neural Networks and Deep Learning》读书笔记第四篇本章其实和前面章节的关联性不大,所以大可将本章作为小短文来阅读,当然基本的深度学习基础还是要有的。主要介绍了神经⽹络拥有的⼀种普遍性,比如说不管目标函数是怎样的,神经网络总是能够对任何可能的输入,其值(或者说近似值)是网络的输出,哪怕是多输入和多输出也是如此,我们大可直接得出一个结论:不论我们想要计算什么样的函数,...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
活到老,学到老,程序员也该如此
全文共2763字,预计学习时长8分钟 图片来源:Pixabay 此前,“网传阿里巴巴要求尽快实现P8全员35周岁以内”的消息闹得沸沸扬扬。虽然很快被阿里辟谣,但苍蝇不叮无缝的蛋,无蜜不招彩蝶蜂。消息从何而来?真相究竟怎样?我们无从而知。我们只知道一个事实:不知从何时开始,程序猿也被划在了“吃青春饭”行业之列。 饱受“996ICU”摧残后,好不容易“头秃了变强了”,即将步入为“高...
Vue快速实现通用表单验证
本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单”。这句话要从哪里说起呢?大概要从最近半个月的“全栈工程师”说起。项目上需要做一个城市配载的功能,顾名思义,就是通过框选和拖拽的方式在地图上完成配载。博主选择了前后端分离的方式,在这个过程中发现:首先,只要有依赖jQuery的组件,譬如Kendoui,即使使用...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
关于裁员几点看法及建议
最近网易裁员事件引起广泛关注,昨天网易针对此事,也发了声明,到底谁对谁错,孰是孰非?我们作为吃瓜观众实在是知之甚少,所以不敢妄下定论。身处软件开发这个行业,近一两年来,对...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
相关热词 c#如何定义数组列表 c#倒序读取txt文件 java代码生成c# c# tcp发送数据 c#解决时间格式带星期 c#类似hashmap c#设置istbox的值 c#获取多线程返回值 c# 包含数字 枚举 c# timespan
立即提问