SOLID + CleanCode. Design objektorientierter Systeme
|
|
- Ashley Barrett
- 5 years ago
- Views:
Transcription
1 SOLID + CleanCode Design objektorientierter Systeme
2 msg Monat 2016 Präsentationstitel 2
3 Style matters and there s beauty in simplicity. msg Monat 2016 Präsentationstitel 3
4 What should matter Clarity Brevity Simplicity Humanity* 4
5 msg Monat 2016 Präsentationstitel 5
6 msg Monat 2016 Präsentationstitel 6
7 LE GRILL WHAT THE HELL IS THAT msg Monat 2016 Präsentationstitel 7
8 msg Monat 2016 Präsentationstitel 8
9 msg Monat 2016 Präsentationstitel 9
10 Clean Code 10
11 "Clean code can be read, and enhanced by a developer other than its original author. msg Monat 2016 Präsentationstitel 11
12 HOW IT SHOULD BE msg Monat 2016 Präsentationstitel HOW IT USUALLY IS 12
13 Technical Debt 13
14 Technical debt is...well...debt and it may or may not be evil 14
15 Keep the code at top quality and stop it from rotting* *as if code is alive, or is it? 15
16 All sucessful software gets changed Fred Brooks, The mythical man month msg Monat 2016 Präsentationstitel 16
17 S.O.L.I.D.-Prinzipien Fünf Prinzipien für wartbaren Code Nicht an eine Technologie gebunden
18 The Single Responsibility Principle msg Monat 2016 Präsentationstitel 18
19
20
21
22
23
24
25
26 The Open/Closed Principle msg Monat 2016 Präsentationstitel 26
27
28
29
30
31
32
33
34 The Liskov Substitution Principle msg Monat 2016 Präsentationstitel 34
35
36
37
38
39
40
41 The Interface Segreggation Principle msg Monat 2016 Präsentationstitel 41
42
43
44
45
46 The Dependency Inversion Principle msg Monat 2016 Präsentationstitel 46
47
48
49
50 msg Monat 2016 Präsentationstitel 50
51 NullPointerException 51
52 NullPointerException private Boolean isfinished(string status) { if (status.equalsignorecase("finished") { return true; } } return false; private Boolean isfinished(string status) { if ( Finished.equalsIgnoreCase(status) { return true; } } return false; } 52
53 NullPointerException BigDecimal price = getprice(); System.Out.println(String.valueOf(price)); System.Out.println(price.toString()); //throws java.lang.nullpointer.exception StringUtil.isEmpty StringUtil.isBlank StringUtil.isNumeric //^ are null safe } 53
54 NullPointerException String String in) { return in.touppercase(); //no nullcheck required } void caller(string s) { if (s!=null) System.Out.println(capitalize(s)) //nullcheck required } } 54
55 NullPointerException public Optional<Customer> findcustomerbyname(string name) { //hard work } Optional<Customer> optionalcustomer = findcustomerbyname ("Nelson Diamantu"); if (optionalcustomer.ispresent()) { Customer customer = optional.get(); //do stuff } else { //not there; deal with it! } } 55
56 Exception Handling Don t just hide it catch (NoSuchMethodException e) { return null; //the cause of the exception is now forever lost } Throw specific exceptions in your methods public void foo throws Exception { //avoid this } public void foo throws SpecificException, EvenMoreSpecificException { //atta boy } } 56
57 Exception Handling Don t catch Exception try { somemethod(); } catch (Exception e) { Logger.log( call failed, e); } Wrap exceptions in custom exceptions catch (NoSuchMethodException e) { throw new MyServiceException ( Info: + e.getmessage()); //incorrect, stack trace lost } catch (NoSuchMethodException e) { throw new MyServiceException ( Info:, e); //correct } 57
58 Exception Handling Log or throw. Never both catch (NoSuchMethodException e) { Logger.log( call failed, e); throw e; } Never throw exceptions from finally try { somemethod(); //throws exception } finally (Exception e) { cleanup(); throw e; //exception will be lost if we throw here } } 58
59 Exception Handling Only catch exceptions you can handle catch (NoSuchMethodException e) { throw e; //throwing this doesn t really help } Use finally if you re not going to handle the exception try { somemethod(); //throws exception } finally { cleanup(); } } 59
60 Throw early, catch late! 60
61 Exception Handling Always clean up after handling exceptions Throw only relevant exceptions wrap them if necessary Exceptions should not dictate your flow One single log entry per exception 61
62 Ommit needless words msg Monat 2016 Präsentationstitel 62
63 "Classes should be immutable unless there's a very good reason to make them mutable...if a class cannot be made immutable, limit its mutability as much as possible. msg Monat 2016 Präsentationstitel 63
64 Immutable = an object cannot be modified once created 64
65 How to implement All attributes should be final Object reference must not be exposed Any modification results in a new (immutable) object Class should be marked as final 65
66 Advantages Thread safe Boosts performance and simplifies development Improve reusability 66
67 Immutable Objects in Java java.lang.string java.math.biginteger java.math.bigdecimal java.io.file 67
68 java.lang.string class S{ public static void main(string [] args){ String x = "abc"; //1. use a literal String y = new String("abc"); //2. use constructor String a = "abcd"; String b = "abcd"; System.out.println(a == b); // True System.out.println(a.equals(b)); // True } } String c = new String("abcd"); String d = new String("abcd"); System.out.println(c == d); // False System.out.println(c.equals(d)); // True 68
69 java.lang.string class S{ public static void main(string [] args){ String s = "Java"; s.concat(" SE 6"); s.replace('6','7'); System.out.print(s); } } 69
70 java.lang.string class S{ public static void main(string [] args){ String a = new String("abc"); if (a == "abc") { System.out.println("egal"); } else { System.out.println("nu e"); } } } 70
71 msg Monat 2016 Präsentationstitel 71
72 java.lang.string class S{ public static void main(string [] args){ String result=""; for(string s: arr){ result = result + s; } } } 72
73 StringBuffer, StringBuilder StringBuffer is mutable All public methods are synchronized, therefore it is thread-safe but also very slow StringBuilder is a copy of StringBuffer but without synchronization use it whenever possible 73
74 msg Monat 2016 Präsentationstitel 74
75 msg Monat 2016 Präsentationstitel 75
Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring
Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,
More informationWriting your own Exceptions. How to extend Exception
Writing your own Exceptions How to extend Exception When would you write your own exception class? When to write your own custom exception is a matter for discussion in your project design team. There
More informationRules and syntax for inheritance. The boring stuff
Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for
More informationWhat is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,
More informationChecked and Unchecked Exceptions in Java
Checked and Unchecked Exceptions in Java Introduction In this article from my free Java 8 course, I will introduce you to Checked and Unchecked Exceptions in Java. Handling exceptions is the process by
More informationProgram Fundamentals
Program Fundamentals /* HelloWorld.java * The classic Hello, world! program */ class HelloWorld { public static void main (String[ ] args) { System.out.println( Hello, world! ); } } /* HelloWorld.java
More information15CS45 : OBJECT ORIENTED CONCEPTS
15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?
More informationCOE318 Lecture Notes Week 10 (Nov 7, 2011)
COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:
More informationJava Platform Concurrency Gotchas
Java Platform Concurrency Gotchas Alex Miller Terracotta Questions to answer > What are common concurrency problems? > Why are they problems? > How do I detect these problems? > How do I correct these
More informationCIS 120 Programming Languages and Techniques. Midterm II. November 12, 2010
CIS 120 Programming Languages and Techniques Midterm II November 12, 2010 Name: Pennkey: Scores: 1 2 3 4 5 6 Total (50 max) 1. (14 points) Pages 7 to 9 define a simplified version of the Java Collection
More informationJava Strings Java, winter semester
Java Strings 1 String instances of java.lang.string compiler works with them almost with primitive types String constants = instances of the String class immutable!!! for changes clases StringBuffer, StringBuilder
More informationA Third Look At Java. Chapter Seventeen Modern Programming Languages, 2nd ed. 1
A Third Look At Java Chapter Seventeen Modern Programming Languages, 2nd ed. 1 A Little Demo public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]);
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationSpring % of course grade
Name SOLUTION Final Score 10 ID Extra Credit Section (circle one): MW 8:30-9:50 TTh 9:30-10:50 TTh 11:00-12:20 10% of course grade 2 1. Anonymous Inner Classes In lecture we walked through the following:
More informationCIS 120 Programming Languages and Techniques. Midterm II. November 12, Answer key
CIS 120 Programming Languages and Techniques Midterm II November 12, 2010 Answer key 1. (14 points) Pages 7 to 9 define a simplified version of the Java Collection interface (the SimpleCollection and SimpleIterator
More informationInheritance (Part 5) Odds and ends
Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationCourse Status Polymorphism Containers Exceptions Midterm Review. CS Java. Introduction to Java. Andy Mroczkowski
CS 190 - Java Introduction to Java Andy Mroczkowski uamroczk@cs.drexel.edu Department of Computer Science Drexel University February 11, 2008 / Lecture 4 Outline Course Status Course Information & Schedule
More informationDealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009
Dealing with Bugs Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 University of Colorado, 2009 1 Goals 2 Review material from Chapter 11 of Pilone & Miles Dealing with
More informationCSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2013
CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2013 Name: This exam consists of 5 problems on the following 6 pages. You may use your double-sided hand-written 8 ½ x 11 note sheet
More informationCrash Course in Java. Why Java? Java notes for C++ programmers. Network Programming in Java is very different than in C/C++
Crash Course in Java Netprog: Java Intro 1 Why Java? Network Programming in Java is very different than in C/C++ much more language support error handling no pointers! (garbage collection) Threads are
More informationCMSC 132: Object-Oriented Programming II. Effective Java. Department of Computer Science University of Maryland, College Park
CMSC 132: Object-Oriented Programming II Effective Java Department of Computer Science University of Maryland, College Park Effective Java Textbook Title Effective Java, Second Edition Author Joshua Bloch
More informationGetting started with Java
Getting started with Java by Vlad Costel Ungureanu for Learn Stuff Programming Languages A programming language is a formal constructed language designed to communicate instructions to a machine, particularly
More informationC08c: A Few Classes in the Java Library (II)
CISC 3115 TY3 C08c: A Few Classes in the Java Library (II) Hui Chen Department of Computer & Information Science CUNY Brooklyn College 9/20/2018 CUNY Brooklyn College 1 Outline Discussed Concepts of two
More information2018/2/5 话费券企业客户接入文档 语雀
1 2 2 1 2 1 1 138999999999 2 1 2 https:lark.alipay.com/kaidi.hwf/hsz6gg/ppesyh#2.4-%e4%bc%81%e4%b8%9a%e5%ae%a2%e6%88%b7%e6%8e%a5%e6%94%b6%e5%85%85%e5 1/8 2 1 3 static IAcsClient client = null; public static
More informationJava and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer
Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 2 Agenda Ø Quizzes Ø More quizzes Ø And even more quizzes 2 Quiz 1. What will be printed? Ø Integers public class
More information/* Copyright 2012 Robert C. Ilardi
/ Copyright 2012 Robert C. Ilardi Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
More informationUniversity of Palestine. Mid Exam Total Grade: 100
First Question No. of Branches (5) A) Choose the correct answer: 1. If we type: system.out.println( a ); in the main() method, what will be the result? int a=12; //in the global space... void f() { int
More information3. Convert 2E from hexadecimal to decimal. 4. Convert from binary to hexadecimal
APCS A Midterm Review You will have a copy of the one page Java Quick Reference sheet. This is the same reference that will be available to you when you take the AP Computer Science exam. 1. n bits can
More informationFunctional Programming in Java. CSE 219 Department of Computer Science, Stony Brook University
Functional Programming in Java CSE 219, Stony Brook University What is functional programming? There is no single precise definition of functional programming (FP) We should think of it as a programming
More informationif (x == 0); System.out.println( x=0 ); if (x = 0) System.out.println( x=0 );
Sample Final Exam 1. Evaluate each of the following expressions and show the result and data type of each: Expression Value Data Type 14 % 5 1 / 2 + 1 / 3 + 1 / 4 4.0 / 2.0 Math.pow(2.0, 3.0) (double)(2
More informationBinghamton University. CS-140 Fall Problem Solving. Creating a class from scratch
Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods
More informationName Section Number. Sections 1-3 *** TURN OFF ALL ELECTRONIC DEVICES*** Bob Wilson
Name Section Number CS110 Exam #4 Practice Sections 1-3 *** TURN OFF ALL ELECTRONIC DEVICES*** Bob Wilson You may use your crib sheet (one 8-1/2 x 11 page both sides) and only your crib sheet. 1. Expression
More informationClasses, interfaces, & documentation. Review of basic building blocks
Classes, interfaces, & documentation Review of basic building blocks Objects Data structures literally, storage containers for data constitute object knowledge or state Operations an object can perform
More information1. Find the output of following java program. class MainClass { public static void main (String arg[])
1. Find the output of following java program. public static void main(string arg[]) int arr[][]=4,3,2,1; int i,j; for(i=1;i>-1;i--) for(j=1;j>-1;j--) System.out.print(arr[i][j]); 1234 The above java program
More informationG51PGP Programming Paradigms. Lecture OO-4 Aggregation
G51PGP Programming Paradigms Lecture OO-4 Aggregation 1 The story so far We saw that C code can be converted into Java code Note real object oriented code though Hopefully shows you how much you already
More informationIT Web and Software Developer Software Development Standards
IT Web and Software Developer Software Development Standards Definition of terms Identifier An identifier is the name you give variables, methods, classes, packages, interfaces and named constants. Pascal
More informationCS321 Languages and Compiler Design I. Winter 2012 Lecture 2
CS321 Languages and Compiler Design I Winter 2012 Lecture 2 1 A (RE-)INTRODUCTION TO JAVA FOR C++/C PROGRAMMERS Why Java? Developed by Sun Microsystems (now Oracle) beginning in 1995. Conceived as a better,
More informationJAVA MOCK TEST JAVA MOCK TEST IV
http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your
More informationString temp [] = {"a", "b", "c"}; where temp[] is String array.
SCJP 1.6 (CX-310-065, CX-310-066) Subject: String, I/O, Formatting, Regex, Serializable, Console Total Questions : 57 Prepared by : http://www.javacertifications.net SCJP 6.0: String,Files,IO,Date and
More information10/22/2018 Programming Data Structures
10/22/2018 Programming Data Structures Quiz 2 on Wednesday, Oct. 24! Assignment14 Quiz Content Recursion 1 Assignment14 public static int readlines(string filename) throws FileNotFoundException { FileInputStream
More informationCIS 1068 Program Design and Abstraction Spring2016 Midterm Exam 1. Name SOLUTION
CIS 1068 Program Design and Abstraction Spring2016 Midterm Exam 1 Name SOLUTION Page Points Score 2 15 3 8 4 18 5 10 6 7 7 7 8 14 9 11 10 10 Total 100 1 P age 1. Program Traces (41 points, 50 minutes)
More informationBIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic
BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines
More informationHAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner.
HAS-A Relationship Association is a relationship where all objects have their own lifecycle and there is no owner. For example, teacher student Aggregation is a specialized form of association where all
More informationclass objects instances Fields Constructors Methods static
Class Structure Classes A class describes a set of objects The objects are called instances of the class A class describes: Fields (instance variables)that hold the data for each object Constructors that
More informationException Namespaces C Interoperability Templates. More C++ David Chisnall. March 17, 2011
More C++ David Chisnall March 17, 2011 Exceptions A more fashionable goto Provides a second way of sending an error condition up the stack until it can be handled Lets intervening stack frames ignore errors
More informationCS Internet programming Unit- I Part - A 1 Define Java. 2. What is a Class? 3. What is an Object? 4. What is an Instance?
CS6501 - Internet programming Unit- I Part - A 1 Define Java. Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look
More informationAdministration. Exceptions. Leftovers. Agenda. When Things Go Wrong. Handling Errors. CS 99 Summer 2000 Michael Clarkson Lecture 11
Administration Exceptions CS 99 Summer 2000 Michael Clarkson Lecture 11 Lab 10 due tomorrow No lab tomorrow Work on final projects Remaining office hours Rick: today 2-3 Michael: Thursday 10-noon, Monday
More informationFinal Exam Practice Questions
Final Exam Practice Questions 1. Short Answer Questions (10 points total) (a) Given the following hierarchy: class Alpha {... class Beta extends Alpha {... class Gamma extends Beta {... What order are
More informationExercise Session Week 8
Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 8 Java 8 release date Was early September 2013 Currently moved to March 2014 http://openjdk.java.net/projects/jdk8/milestones
More informationCS251L REVIEW Derek Trumbo UNM
CS251L REVIEW 2010.8.30 Derek Trumbo UNM Arrays Example of array thought process in Eclipse Arrays Multi-dimensional arrays are also supported by most PL s 2-dimensional arrays are just like a matrix (monthly
More informationMore on Strings. Lecture 10 CGS 3416 Fall October 13, 2015
More on Strings Lecture 10 CGS 3416 Fall 2015 October 13, 2015 What we know so far In Java, a string is an object. The String class is used to create and store immutable strings. Some String class methods
More informationName Definition Example Differences
Big Integer Instantiation Don't create instances of already existing BigInteger (BigInteger.ZERO, BigInteger.ONE) andfor Java 1.5 onwards, BigInteger.TEN and BigDecimal (BigDecimal.ZERO, BigDecimal.ONE,
More informationComputer Programming, I. Laboratory Manual. Final Exam Solution
Think Twice Code Once The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2005 Khaleel I. Shaheen Computer Programming, I Laboratory Manual Final Exam Solution
More informationCSCI 201L Final Written Spring % of course grade
Name SOLUTION Final Score ID Extra Credit Section (circle one): MW 8:30-9:50 TTh 9:30-10:50 TTh 11:00-12:20 12% of course grade 1. Servlets Explain the difference between a GET and POST form submission.
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of February 23, 2013 Abstract Handling errors Declaring, creating and handling exceptions
More informationOracle 1Z Java Standard Edition 5 Programmer Certified Professional.
Oracle 1Z0-853 Java Standard Edition 5 Programmer Certified Professional https://killexams.com/pass4sure/exam-detail/1z0-853 QUESTION: 351 12. NumberFormat nf = NumberFormat.getInstance(); 13. nf.setmaximumfractiondigits(4);
More informationCS 200 Command-Line Arguments & Exceptions Jim Williams, PhD
CS 200 Command-Line Arguments & Exceptions Jim Williams, PhD This Week 1. Battleship: Milestone 3 a. First impressions matter! b. Comment and style 2. Team Lab: ArrayLists 3. BP2, Milestone 1 next Wednesday
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of February 23, 2013 Abstract Handling errors Declaring, creating and handling exceptions
More informationTopic 6: Exceptions. Exceptions are a Java mechanism for dealing with errors & unusual situations
Topic 6: Exceptions Exceptions are a Java mechanism for dealing with errors & unusual situations Goals: learn how to... think about different responses to errors write code that catches exceptions write
More informationCOMP-202 Unit 9: Exceptions
COMP-202 Unit 9: Exceptions Announcements - Assignment 4: due Monday April 16th - Assignment 4: tutorial - Final exam tutorial next week 2 Exceptions An exception is an object that describes an unusual
More informationGetting started with Java
Getting started with Java Magic Lines public class MagicLines { public static void main(string[] args) { } } Comments Comments are lines in your code that get ignored during execution. Good for leaving
More informationSoda Machine Laboratory
Soda Machine Laboratory Introduction This laboratory is intended to give you experience working with multiple queue structures in a familiar real-world setting. The given application models a soda machine
More informationCS 351 Design of Large Programs Threads and Concurrency
CS 351 Design of Large Programs Threads and Concurrency Brooke Chenoweth University of New Mexico Spring 2018 Concurrency in Java Java has basic concurrency support built into the language. Also has high-level
More informationCS 61B Data Structures and Programming Methodology. July 7, 2008 David Sun
CS 61B Data Structures and Programming Methodology July 7, 2008 David Sun Announcements You ve started (or finished) project 1, right? Package Visibility public declarations represent specifications what
More informationTypecasts and Dynamic Dispatch. Dynamic dispatch
Typecasts and Dynamic Dispatch Abstract Data Type (ADT) Abstraction Program Robustness Exceptions D0010E Lecture 8 Template Design Pattern Review: I/O Typecasts change the type of expressions as interpreted
More informationCOMP-202 Unit 9: Exceptions
COMP-202 Unit 9: Exceptions Course Evaluations Please do these. -Fast to do -Used to improve course for future. (Winter 2011 had 6 assignments reduced to 4 based on feedback!) 2 Avoiding errors So far,
More informationG51PGP Programming Paradigms. Lecture 009 Concurrency, exceptions
G51PGP Programming Paradigms Lecture 009 Concurrency, exceptions 1 Reminder subtype polymorphism public class TestAnimals public static void main(string[] args) Animal[] animals = new Animal[6]; animals[0]
More informationExercise Session Week 8
Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 8 Quiz 1: What is printed? (Java) class MyTask implements Runnable { public void
More informationCMSC 202. Exceptions
CMSC 202 Exceptions Error Handling In the ideal world, all errors would occur when your code is compiled. That won t happen. Errors which occur when your code is running must be handled by some mechanism
More informationSTRINGS AND STRINGBUILDERS. Spring 2019
STRINGS AND STRINGBUILDERS Spring 2019 STRING BASICS In Java, a string is an object. Three important pre-built classes used in string processing: the String class used to create and store immutable strings
More informationTesting Driven Development. Advanced Programming
Testing Driven Development Advanced Programming Test Driven Development (TDD) Practice for writing unit tests and production code concurrently and at a very fine level of granularity Programmers first
More informationContents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix
PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring
More informationOhad Barzilay and Oranit Dror
The String Class Represents a character string (e.g. "Hi") Implicit constructor: String quote = "Hello World"; string literal All string literals are String instances Object has a tostring() method More
More informationCMSC 433 Programming Language Technologies and Paradigms. Spring 2013
CMSC 433 Programming Language Technologies and Paradigms Spring 2013 Encapsulation, Publication, Escape Data Encapsulation One of the approaches in object-oriented programming is to use data encapsulation
More informationExceptions Handling Errors using Exceptions
Java Programming in Java Exceptions Handling Errors using Exceptions Exceptions Exception = Exceptional Event Exceptions are: objects, derived from java.lang.throwable. Throwable Objects: Errors (Java
More informationJava Intro 3. Java Intro 3. Class Libraries and the Java API. Outline
Java Intro 3 9/7/2007 1 Java Intro 3 Outline Java API Packages Access Rules, Class Visibility Strings as Objects Wrapper classes Static Attributes & Methods Hello World details 9/7/2007 2 Class Libraries
More informationObjects and Classes. Basic OO Principles. Classes in Java. Mark Allen Weiss Copyright 2000
Objects and Classes Mark Allen Weiss Copyright 2000 8/30/00 1 Basic OO Principles Objects are entities that have structure and state. Each object defines operations that may access or manipulate that state.
More informationWES-CS GROUP MEETING #9
WES-CS GROUP MEETING #9 Exercise 1: Practice Multiple-Choice Questions 1. What is output when the following code executes? String S1 = new String("hello"); String S2 = S1 +! ; S1 = S1 + S1; System.out.println(S1);
More informationLanguage Features. 1. The primitive types int, double, and boolean are part of the AP
Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are
More informationBirkbeck (University of London) Software and Programming 1 In-class Test Mar 2018
Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 22 Mar 2018 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment
More informationH212 Introduction to Software Systems Honors
Introduction to Software Systems Honors Lecture #04: Fall 2015 1/20 Office hours Monday, Wednesday: 10:15 am to 12:00 noon Tuesday, Thursday: 2:00 to 3:45 pm Office: Lindley Hall, Room 401C 2/20 Printing
More informationEnough java.lang.string to Hang Ourselves...
Enough java.lang.string to Hang Ourselves... Dr Heinz M. Kabutz Last Updated 2018-06-19 2018 Heinz Kabutz, All Rights Reserved !2 Converting int val to a String? 1."" + val 2.Integer.toString(val) 3.Integer.valueOf(val)
More informationExceptions. Examples of code which shows the syntax and all that
Exceptions Examples of code which shows the syntax and all that When a method might cause a checked exception So the main difference between checked and unchecked exceptions was that the compiler forces
More informationCS61B, Spring 2003 Discussion #17 Amir Kamil UC Berkeley 5/12/03
CS61B, Spring 2003 Discussion #17 Amir Kamil UC Berkeley 5/12/03 Topics: Threading, Synchronization 1 Threading Suppose we want to create an automated program that hacks into a server. Many encryption
More informationAssoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Marenglen Biba Exception handling Exception an indication of a problem that occurs during a program s execution. The name exception implies that the problem occurs infrequently. With exception
More informationJava and OOP. Part 5 More
Java and OOP Part 5 More 1 More OOP More OOP concepts beyond the introduction: constants this clone and equals inheritance exceptions reflection interfaces 2 Constants final is used for classes which cannot
More informationCMSC131 Final Exam Practice Questions
CMSC131 Final Exam Practice Questions Disclaimer: The following are questions that try to provide you with some practice material for the final exam. By no means do they represent the only material you
More informationMore on methods and variables. Fundamentals of Computer Science Keith Vertanen
More on methods and variables Fundamentals of Computer Science Keith Vertanen Terminology of a method Goal: helper method than can draw a random integer between start and end (inclusive) access modifier
More informationImmutables. At first glance, you d think that immutables were useless, however, they provide many advantages.
Immutables Introduction In this article from my free Java 8 course, I will be discussing immutables in Java. The concept of immutability has always been important in all programming languages, including
More informationClass definition. complete definition. public public class abstract no instance can be created final class cannot be extended
JAVA Classes Class definition complete definition [public] [abstract] [final] class Name [extends Parent] [impelements ListOfInterfaces] {... // class body public public class abstract no instance can
More informationDOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS
Chapter 1 : Chapter-wise Java Multiple Choice Questions and Answers Interview MCQs Java Programming questions and answers with explanation for interview, competitive examination and entrance test. Fully
More informationJAVA MOCK TEST JAVA MOCK TEST II
http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your
More informationwrite the functions inside as well as outside the class. So in C++, they are called member functions and not methods.
1. Q. Why pointers are eliminated from java? 1)Pointers lead to confusion for a programmer. 2)Pointers may crash a program easily, for example, when we add two pointers, the program crashers immediately.
More informationIntroduction to Java https://tinyurl.com/y7bvpa9z
Introduction to Java https://tinyurl.com/y7bvpa9z Eric Newhall - Laurence Meyers Team 2849 Alumni Java Object-Oriented Compiled Garbage-Collected WORA - Write Once, Run Anywhere IDE Integrated Development
More information1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003
1.00 Introduction to Computers and Engineering Problem Solving Quiz 1 March 7, 2003 Name: Email Address: TA: Section: You have 90 minutes to complete this exam. For coding questions, you do not need to
More informationFundamentos de programação
Fundamentos de programação Orientação a Objeto Classes, atributos e métodos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Contents Object-Oriented Programming Implementing a Simple
More informationIndex. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107
A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105
More informationException handling & logging Best Practices. Angelin
Exception handling & logging Best Practices Angelin AGENDA Logging using Log4j Logging Best Practices Exception Handling Best Practices CodePro Errors and Fixes Logging using Log4j Logging using Log4j
More informationpublic class Shared0 { private static int x = 0, y = 0;
A race condition occurs anytime that the execution of one thread interferes with the desired behavior of another thread. What is the expected postcondition for the following bump() method? What should
More information