网站建设电话销售术语品牌营销策略有哪些
前言:
学习过程中有不少时候遇到一些看似简单,做起来事倍功半的问题。我也想自己是个聪明人,学东西一听就懂,一学就会,马上就能灵活应用。但这种事不能强求,要么自己要看个十遍二十遍最后理清逻辑,熟练掌握。同以前的贴子一样,都是基础问题,只做学习记录。
--------------------------------------------------------------------------------------------------------------------------------
1.方法在哪里?
--复习:Java的方法分为抽象方法和具体方法。
具体方法有三种:构造方法 ,静态方法,成员方法;
构造方法是生成对象必须调用的,单例模式也在内部调用了。构造方法默认调用父类无参构造方法,也就是super();代表了生成对象的同时,同时建立了父类对象空间和子类对象空间,而且是向上溯源的,一直到Object这个根类。子类对象可以调用父类的属性和方法,这也是Java设计思想中“继承”的由来。举例:对象后面都默认带上了toString等方法,length属性,就是来自Object类。
静态方法是类调用的,一眼认出来,因为类首字母要求大写。多用于工具类,如Collections。
成员方法是类中定义的,由对象调用,包括了类中定义的方法,还有重写父类的方法,重写接口的方法,以及父类和父类往上的父类的方法。调用顺序是哪个离得近调用哪个。
--遇到问题:不知道方法在哪里找了?如下代码
public static void main(String[] args) {Map<String,String> map=new HashMap<>();map.put("NO1","zhangsan");map.put("NO2","lisi");System.out.println(map);/* map集合的遍历方式:面向对象,快捷键:变量名+for */Set<Map.Entry<String, String>> entries = map.entrySet();for (Map.Entry<String, String> entry : entries) {String key = entry.getKey();String value = entry.getValue();System.out.println(key+"-->"+value);}
其中里面的getKey()和getValue()方法,找了set接口,找了Map接口都没找到。
后来在Map.Entry里找到了。
原因:没找到正确类型;entries是set<>集合类型,entry是集合中的元素,其类型是
Map.Entry<String, String>,
这是由Map对象map调用entrySet()方法后Java给的类型,在Map.java里定义的接口,底层封装了看不见内容。
小结:Java是面向对象的语言,每一个数据都是对象;
每个对象都有对应的类型,方法在类型里去找。一定要认清数据类型。